返回官网官方微博

麦步社区-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: MAI 表盘
楼主: 1076964977
打印 上一主题 下一主题

我搞的显示GPS表盘源码 欢迎拍砖

[复制链接]

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
跳转到指定楼层
楼主
发表于 2016-7-18 21:49:22 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "maibu_sdk.h"
#include "maibu_res.h"

static int32_t g_window_id = -1;
static int8_t g_layer_id_1 = -1;
static int8_t g_layer_id_2 = -1;

void GPS_phone_recv_callback(enum ERequestPhone type, void *context)
{
        P_Window p_window = app_window_stack_get_window_by_id(g_window_id);
        char url1[50];
char url2[50];
SGpsAltitude g_gps_altitude;
        memcpy(&g_gps_altitude, (SGpsAltitude *)context, sizeof(SGpsAltitude));
         sprintf(url1, "纬度%s", g_gps_altitude.lat);               
     sprintf(url2, "经度%s", g_gps_altitude.lon);
         P_Layer p_layer_1 = app_window_get_layer_by_id(p_window, g_layer_id_1);
         P_Layer p_layer_2 = app_window_get_layer_by_id(p_window, g_layer_id_2);
         app_layer_set_text_text(p_layer_1, url1);
         app_layer_set_text_text(p_layer_2, url2);
         app_window_update(p_window);
}


void GPS_timer_callback(date_time_t tick_time, uint32_t millis, void *context)
{    P_Window p_window = app_window_stack_get_window_by_id(g_window_id);
         P_Layer p_layer_1 = app_window_get_layer_by_id(p_window, g_layer_id_1);
         P_Layer p_layer_2 = app_window_get_layer_by_id(p_window, g_layer_id_2);
         app_layer_set_text_text(p_layer_1, "AA");
         app_layer_set_text_text(p_layer_2, "BB");
         app_window_update(p_window);
maibu_comm_request_phone(ERequestPhoneGPSAltitude,  NULL,0);       
}

int main()
{
//simulator_init();
        P_Window pPP_window = app_window_create();
        if (NULL == pPP_window)
        {
                return 0;
        }
        maibu_comm_register_phone_callback(GPS_phone_recv_callback);
        GRect frame1 = {{0, 45}, {40, 128}};
        LayerText text1 = {"AA", frame1, GAlignCenter, U_GBK_SIMSUNBD_16};       
        GRect frame2 = {{0, 80}, {40, 128}};
        LayerText text2 = {"BB", frame2, GAlignCenter, U_GBK_SIMSUNBD_16};
         P_Layer layer1 = app_layer_create_text(&text1);
        g_layer_id_1=app_window_add_layer(pPP_window, layer1);       
        P_Layer layer2 = app_layer_create_text(&text2);
        g_layer_id_2=app_window_add_layer(pPP_window, layer2);
        g_window_id=app_window_stack_push(pPP_window);       
        app_window_timer_subscribe(pPP_window, 5000, GPS_timer_callback, (void *)pPP_window);
//simulator_wait();
        return 1;

}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信 WeiboWeibo
收藏收藏 分享分享 顶1 踩

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
沙发
 楼主| 发表于 2016-8-9 13:51:32 | 显示全部楼层
没有重叠啊。重叠了有没有关系我觉得您试验一下:)

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
板凳
 楼主| 发表于 2016-8-10 09:56:51 | 显示全部楼层
步往康来 发表于 2016-8-9 22:03
如何生成表盘文件呢

随便找个例程 把C文件里的东西删了换成我的这一堆代码 编译就出来了

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
地板
 楼主| 发表于 2016-8-10 10:01:52 | 显示全部楼层
dualxu 发表于 2016-8-9 16:26
GRect frame1 = {{0, 45}, {40, 128}};
GRect frame2 = {{0, 80}, {40, 128}};  不是有{{0, 80}, {5, 128} ...

struct GRect
接口名        struct GRect

功能说明        矩形结构体
参数说明        GPoint origin  矩形左上角坐标
GSize size 矩形的高度和宽度

你看一看GRect的结构,第一个定义的是左上角坐标,所以0,45和0,80是不重合的

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
5#
 楼主| 发表于 2016-8-10 11:04:54 | 显示全部楼层
dualxu 发表于 2016-8-10 10:59
高度上有重合,45+40>80啦
GRect frame1 = {{0, 45}, {40, 128}};
        LayerText text1 = {"AA", frame ...

还真是重合了一点。你调整一下看看:)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|麦步官方论坛 ( 粤ICP备12052190号  

GMT+8, 2024-5-8 06:59 , Processed in 0.079066 second(s), 24 queries .

Powered by Discuz! X3.2

© 2012-2021 Comsenz Inc.

快速回复 返回顶部 返回列表