|
本帖最后由 WSTON 于 2020-9-29 14:06 编辑
今天移植完触摸驱动,触摸的三个事件也完成了。
测试了一下,跑汉哥的例子没有问题,radial_progress_bar和开关都很流畅!所以我觉得我的屏幕和触摸驱动都没有问题了。
然后自己想使用GUIX Studio做一个例子,前后周折遇到的一个问题就是屏幕会在x轴方向偏移,都没有解决。
然后我以为是自己Studio使用的问题,所以直接在汉哥的例程里面修改:
1、我的屏幕是480x854的,所以修改了分辨率,当然画布size也修改了过来(819840=480*854*2)
- GX_STUDIO_DISPLAY_INFO guiapp_display_table[1] =
- {
- {
- "display_1",
- "display_1_canvas",
- display_1_theme_table,
- display_1_language_table,
- DISPLAY_1_THEME_TABLE_SIZE,
- DISPLAY_1_LANGUAGE_TABLE_SIZE,
- DISPLAY_1_STRING_TABLE_SIZE,
- 480, /* x resolution */
- 854, /* y resolution */
- &display_1_control_block,
- &display_1_canvas_control_block,
- &display_1_root_window,
- GX_NULL, /* canvas memory area */
- 819840 /* canvas memory size in bytes */
- }
- };
复制代码 2、修改window的大小为{0,0,479,853} /* widget size */
- GX_CONST GX_STUDIO_WIDGET window_define =
- {
- "window",
- GX_TYPE_WINDOW, /* widget type */
- Window1_Main_ID, /* widget id */
- #if defined(GX_WIDGET_USER_DATA)
- 0, /* user data */
- #endif
- GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED, /* style flags */
- GX_STATUS_ACCEPTS_FOCUS, /* status flags */
- sizeof(WINDOW_CONTROL_BLOCK), /* control block size */
- GX_COLOR_ID_WINDOW_FILL, /* normal color id */
- GX_COLOR_ID_WINDOW_FILL, /* selected color id */
- GX_COLOR_ID_DISABLED_FILL, /* disabled color id */
- gx_studio_window_create, /* create function */
- GX_NULL, /* drawing function override */
- GX_NULL, /* event function override */
- {0, 0, 479, 853}, /* widget size */
- GX_NULL, /* next widget */
- &window_prompt_define, /* child widget */
- 0, /* control block */
- (void *) &window_properties /* extended properties */
- };
复制代码 出现的问题是在上电或者我乱点屏幕空白处的时候,屏幕会在x轴偏移。
于是乎我试过很多办法,发现将 {0, 0, 479, 853}, /* widget size */改小为{0, 0, 479-10, 853-10},就没有出现问题了。
这也就是一开始用汉哥的例子没有问题吧。
我这边用了4M当作画布内存,虽然只用了819840,动态内存用了17M
- /*
- 4MB 空间用于显存 分散加载文件要修改
- 方案二:
- ;0x80500000到0x81C00000 的 23M
- ; 前面 4M 用于 Canvas 画布 0x80500000- 0x80900000
- ; 后面 19M 用动态内存 0x80900000- 0x81C00000
- */
- #define GUI_NUMBYTES 1024*1024*19 /* 设置动态内存大小 */
- #define Canvas_NUMBYTES 1024*1024*4 /* 设置画布内存大小 */
- #define Canvas_Memory 0x80500000 /* 设置Canvas地址 */
- TX_BYTE_POOL memory_pool;
- unsigned char *MemoryBlock = (unsigned char *)(0x80900000); /* 动态内存地址 */
复制代码
|
-
|