From 108da597278bfbf88a141f9ba5fa2f317660b4e4 Mon Sep 17 00:00:00 2001 From: idea4good Date: Wed, 3 Jul 2019 16:45:58 +0800 Subject: [PATCH] refactor widgets --- README.md | 5 +- README_zh.md | 5 +- core/adapter/api_linux.cpp | 6 +- core/adapter/api_win.cpp | 26 ++++---- core/adapter/audio_linux.cpp | 2 +- core/adapter/audio_win.cpp | 32 ++++----- core/adapter/msg_linux.cpp | 6 +- core/adapter/msg_unknow.cpp | 7 +- core/adapter/msg_win.cpp | 12 ++-- core/bitmap.cpp | 120 ++++++++------------------------- core/cmd_target.cpp | 8 +-- core/display.cpp | 22 +++--- core/surface.cpp | 68 +++++++++---------- core/theme.cpp | 18 ++--- core/wnd.cpp | 122 +++++++++++++++++----------------- core/word.cpp | 17 ++--- core_include/api.h | 32 +++++---- core_include/bitmap.h | 6 +- core_include/display.h | 2 +- core_include/rect.h | 10 --- core_include/surface.h | 4 +- core_include/wnd.h | 24 ++++--- doc/CharityTracker.md | 32 --------- doc/CharityWorkFlow.png | Bin 18667 -> 0 bytes widgets/button.cpp | 38 ++++------- widgets/dialog.cpp | 24 +++---- widgets/edit.cpp | 28 +++----- widgets/gesture.cpp | 26 ++++---- widgets/keyboard.cpp | 34 +++++----- widgets/label.cpp | 7 +- widgets/list_box.cpp | 46 ++++++------- widgets/slide_group.cpp | 26 ++++---- widgets/spinbox.cpp | 20 +++--- widgets/wave_ctrl.cpp | 20 +++--- widgets_include/button.h | 10 --- widgets_include/slide_group.h | 4 +- 36 files changed, 359 insertions(+), 510 deletions(-) delete mode 100644 doc/CharityTracker.md delete mode 100644 doc/CharityWorkFlow.png diff --git a/README.md b/README.md index 034e717..822a157 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GuiLite - All donations will be used to help sick kids +# GuiLite - The smallest GUI library ![badge_build](https://img.shields.io/badge/build-passing-brightgreen.svg) ![badge_docker](https://img.shields.io/badge/docker%20build-passing-brightgreen.svg) ![badge_platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS%20%7C%20iOS%20%7C%20Android%20%7C%20MCU-brightgreen.svg) ![badge_lincense](https://img.shields.io/badge/license-Apache%202-blue.svg) ![badge_lincense](https://img.shields.io/badge/architecture-amd64%20%7C%20arm%20%7C%20arm64-blue.svg) - [中文](README_zh.md) - [Features](#Features) @@ -106,5 +106,4 @@ GuiLite is the smallest and simplest GUI library. ## Thanks and Charity - Thanks for the help from QQ group, you guys make GuiLite better! And welcome new friend to join us.
[](https://jq.qq.com/?_wv=1027&k=5EO8D9i) -- Thanks for the donations from [Gitee users](https://gitee.com/idea4good/GuiLite), all donations will be used to help sick kids -- Check the charity action [here](doc/CharityTracker.md) +- [Sponsor & Help sick kids](https://idea4good.github.io) diff --git a/README_zh.md b/README_zh.md index d3d958a..f83168e 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1,4 +1,4 @@ -# GuiLite(超轻量UI框架) - 所有捐赠都用于救助“大病”儿童 +# GuiLite(超轻量UI框架) - 最小的GUI库 ![badge_build](https://img.shields.io/badge/build-passing-brightgreen.svg) ![badge_docker](https://img.shields.io/badge/docker%20build-passing-brightgreen.svg) ![badge_platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS%20%7C%20iOS%20%7C%20Android%20%7C%20MCU-brightgreen.svg) ![badge_lincense](https://img.shields.io/badge/license-Apache%202-blue.svg) ![badge_lincense](https://img.shields.io/badge/architecture-amd64%20%7C%20arm%20%7C%20arm64-blue.svg) - [功能介绍](#功能介绍) - [快速上手](#快速上手) @@ -105,5 +105,4 @@ GuiLite是最简单,易学的GUI库。 ## 致谢和慈善 - 感谢开发者群的所有同学,是你们塑造了今天的GuiLite!也欢迎新的大神/小白加入我们。
[](https://jq.qq.com/?_wv=1027&k=5EO8D9i) -- 感谢来自[码云用户](https://gitee.com/idea4good/GuiLite)的捐赠,每一分捐赠都会用来救助大病儿童。 -- [大病儿童帮扶记录](doc/CharityTracker.md) +- [赞助 & 救助大病儿童](https://idea4good.github.io) diff --git a/core/adapter/api_linux.cpp b/core/adapter/api_linux.cpp index 0434a2b..b54a556 100644 --- a/core/adapter/api_linux.cpp +++ b/core/adapter/api_linux.cpp @@ -129,7 +129,7 @@ static int set_a_timer(int interval, void (* timer_proc) (void* ptmr, void* parg if(i >= MAX_TIMER_CNT) { - ASSERT(FALSE); + ASSERT(false); return (-1); } return (i); @@ -150,7 +150,7 @@ static void* real_timer_routine(void*) } else { - ASSERT(FALSE); + ASSERT(false); } } return 0; @@ -161,7 +161,7 @@ static void expire_real_timer(int sigo) char dummy = 0x33; if(s_real_timer_fifo.write(&dummy, 1) <= 0) { - ASSERT(FALSE); + ASSERT(false); } } diff --git a/core/adapter/api_win.cpp b/core/adapter/api_win.cpp index 04b7bdc..e9880ce 100644 --- a/core/adapter/api_win.cpp +++ b/core/adapter/api_win.cpp @@ -30,7 +30,7 @@ void _assert(const char* file, int line) memset(s_buf, 0, sizeof(s_buf)); sprintf_s(s_buf, sizeof(s_buf), "vvvvvvvvvvvvvvvvvvvvvvvvvvvv\n\nAssert@ file = %s, line = %d\n\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", file, line); OutputDebugStringA(s_buf); - printf(s_buf); + printf(s_buf); fflush(stdout); assert(false); } @@ -44,8 +44,8 @@ void log_out(const char* log) } else { - printf(log); - fflush(stdout); + printf(log); + fflush(stdout); OutputDebugStringA(log); } } @@ -85,7 +85,7 @@ DWORD WINAPI timer_routine(LPVOID lpParam) } Sleep(TIMER_UNIT); } - return NULL; + return 0; } static int init_mul_timer() @@ -97,7 +97,7 @@ static int init_mul_timer() } memset(&timer_manage, 0, sizeof(struct _timer_manage)); DWORD pid; - CreateThread(NULL, 0, timer_routine, NULL, 0, &pid); + CreateThread(0, 0, timer_routine, 0, 0, &pid); s_is_init = true; return 1; } @@ -107,7 +107,7 @@ static int set_a_timer(int interval, void (* timer_proc) (void* ptmr, void* parg init_mul_timer(); int i; - if(timer_proc == NULL || interval <= 0) + if(timer_proc == 0 || interval <= 0) { return (-1); } @@ -128,7 +128,7 @@ static int set_a_timer(int interval, void (* timer_proc) (void* ptmr, void* parg if(i >= MAX_TIMER_CNT) { - ASSERT(FALSE); + ASSERT(false); return (-1); } return (i); @@ -149,7 +149,7 @@ static DWORD WINAPI fire_real_timer(LPVOID lpParam) } else { - ASSERT(FALSE); + ASSERT(false); } } return 0; @@ -176,7 +176,7 @@ static DWORD WINAPI trigger_real_timer(LPVOID lpParam) void start_real_timer(void (*func)(void* arg)) { - if(NULL == func) + if(0 == func) { return; } @@ -187,8 +187,8 @@ void start_real_timer(void (*func)(void* arg)) static DWORD s_pid; if(s_pid == 0) { - CreateThread(NULL, 0, trigger_real_timer, NULL, 0, &s_pid); - CreateThread(NULL, 0, fire_real_timer, NULL, 0, &s_pid); + CreateThread(0, 0, trigger_real_timer, 0, 0, &s_pid); + CreateThread(0, 0, fire_real_timer, 0, 0, &s_pid); } } @@ -204,7 +204,7 @@ void register_timer(int milli_second,void func(void* ptmr, void* parg)) long get_time_in_second() { - return time(NULL); + return time(0); } T_TIME get_time() @@ -240,7 +240,7 @@ T_TIME second_to_day(long second) void create_thread(unsigned long* thread_id, void* attr, void *(*start_routine) (void *), void* arg) { DWORD pid = 0; - CreateThread(NULL, 0, LPTHREAD_START_ROUTINE(start_routine), arg, 0, &pid); + CreateThread(0, 0, LPTHREAD_START_ROUTINE(start_routine), arg, 0, &pid); *thread_id = pid; } diff --git a/core/adapter/audio_linux.cpp b/core/adapter/audio_linux.cpp index 8467d38..3998e8c 100644 --- a/core/adapter/audio_linux.cpp +++ b/core/adapter/audio_linux.cpp @@ -44,7 +44,7 @@ void c_audio::init() } unsigned long pid; - create_thread(&pid, NULL, render_thread, NULL); + create_thread(&pid, 0, render_thread, 0); s_flag = true; } diff --git a/core/adapter/audio_win.cpp b/core/adapter/audio_win.cpp index c0bf423..5be0241 100644 --- a/core/adapter/audio_win.cpp +++ b/core/adapter/audio_win.cpp @@ -16,7 +16,7 @@ #define AUDIO_BYTE_RATE (AUDIO_SAMPLE_RATE * AUDIO_BLOCK_ALIGN) #define AUDIO_OUTPUT_BUF_LEN (10000000 * 5) //5 seconds long. -#define CHECK_ERROR(ret) if(ret != 0){ASSERT(FALSE);} +#define CHECK_ERROR(ret) if(ret != 0){ASSERT(false);} typedef struct { @@ -58,7 +58,7 @@ static int register_wav_resouce(AUDIO_TYPE type, wchar_t* wav_path) return 0; } - void* hFile = CreateFile(wav_path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + void* hFile = CreateFile(wav_path, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if (INVALID_HANDLE_VALUE == hFile) { log_out("Open wave file failed\n"); @@ -69,16 +69,16 @@ static int register_wav_resouce(AUDIO_TYPE type, wchar_t* wav_path) GetFileSizeEx(hFile, &ret); int size = ret.LowPart; - if (INVALID_SET_FILE_POINTER == SetFilePointer(hFile, 0x2C, NULL, FILE_BEGIN)) + if (INVALID_SET_FILE_POINTER == SetFilePointer(hFile, 0x2C, 0, FILE_BEGIN)) { - ASSERT(FALSE); + ASSERT(false); return -2; } size -= 0x2C; BYTE* p_data = (BYTE*)malloc(size); DWORD read_num; - ReadFile(hFile, p_data, size, &read_num, NULL); + ReadFile(hFile, p_data, size, &read_num, 0); s_wav_resource[type].p_data = p_data; s_wav_resource[type].size = size; @@ -100,7 +100,7 @@ static int load_wav_chunk(BYTE* p_des, int des_size, BYTE* p_src, int src_size) static int play_wav(BYTE* p_data, int size) { - if (NULL == p_data || 0 >= size) + if (0 == p_data || 0 >= size) { return -1; } @@ -108,7 +108,7 @@ static int play_wav(BYTE* p_data, int size) UINT32 bufferFrameCount; UINT32 numFramesAvailable; UINT32 numFramesPadding; - BYTE* p_buffer = NULL; + BYTE* p_buffer = 0; int ret = s_audio_client->GetBufferSize(&bufferFrameCount); CHECK_ERROR(ret); @@ -154,7 +154,7 @@ static void* render_thread(void* param) if (AUDIO_MAX <= request.type) { - ASSERT(FALSE); + ASSERT(false); continue; } play_wav(s_wav_resource[request.type].p_data, s_wav_resource[request.type].size); @@ -171,23 +171,23 @@ static int init_audio_client() //For desktop only, could not pass Windows Store certification. /* - int ret = CoInitializeEx(NULL, COINIT_MULTITHREADED); + int ret = CoInitializeEx(0, COINIT_MULTITHREADED); CHECK_ERROR(ret); IMMDeviceEnumerator *pEnumerator = nullptr; - ret = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, + ret = CoCreateInstance(__uuidof(MMDeviceEnumerator), 0, CLSCTX_ALL, __uuidof(IMMDeviceEnumerator), (void**)&pEnumerator); CHECK_ERROR(ret); IMMDevice* audio_output_device; pEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &audio_output_device); - if (NULL == audio_output_device) + if (0 == audio_output_device) { - ASSERT(FALSE); + ASSERT(false); } - ret = audio_output_device->Activate(__uuidof(IAudioClient), CLSCTX_ALL, NULL, (void**)&s_audio_client); + ret = audio_output_device->Activate(__uuidof(IAudioClient), CLSCTX_ALL, 0, (void**)&s_audio_client); CHECK_ERROR(ret); return 0; */ @@ -211,10 +211,10 @@ void c_audio::init() int ret = s_audio_client->Initialize(AUDCLNT_SHAREMODE_SHARED, AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_EVENTCALLBACK, - AUDIO_OUTPUT_BUF_LEN * 2, 0, &s_wav_format, NULL); + AUDIO_OUTPUT_BUF_LEN * 2, 0, &s_wav_format, 0); CHECK_ERROR(ret); - s_audio_event = CreateEventEx(NULL, NULL, 0, EVENT_ALL_ACCESS); + s_audio_event = CreateEventEx(0, 0, 0, EVENT_ALL_ACCESS); ret = s_audio_client->SetEventHandle(s_audio_event); CHECK_ERROR(ret); @@ -222,7 +222,7 @@ void c_audio::init() CHECK_ERROR(ret); unsigned long pid; - create_thread(&pid, NULL, render_thread, NULL); + create_thread(&pid, 0, render_thread, 0); s_flag = true; } diff --git a/core/adapter/msg_linux.cpp b/core/adapter/msg_linux.cpp index 2683b80..c02c34c 100644 --- a/core/adapter/msg_linux.cpp +++ b/core/adapter/msg_linux.cpp @@ -11,7 +11,7 @@ c_fifo::c_fifo() m_write_mutex = malloc(sizeof(pthread_mutex_t)); sem_init((sem_t*)m_read_sem, 0, 0); - pthread_mutex_init((pthread_mutex_t*)m_write_mutex, NULL); + pthread_mutex_init((pthread_mutex_t*)m_write_mutex, 0); } int c_fifo::read(void* buf, int len) @@ -31,7 +31,7 @@ int c_fifo::read(void* buf, int len) } if(i != len) { - ASSERT(FALSE); + ASSERT(false); } return i; } @@ -60,7 +60,7 @@ int c_fifo::write(void* buf, int len) if(i != len) { - ASSERT(FALSE); + ASSERT(false); } else { diff --git a/core/adapter/msg_unknow.cpp b/core/adapter/msg_unknow.cpp index da5560e..e47db0f 100644 --- a/core/adapter/msg_unknow.cpp +++ b/core/adapter/msg_unknow.cpp @@ -1,11 +1,10 @@ #include "../../core_include/api.h" #include "../../core_include/msg.h" - c_fifo::c_fifo() { m_head = m_tail = 0; - m_read_sem = m_write_mutex = NULL; + m_read_sem = m_write_mutex = 0; } int c_fifo::read(void* buf, int len) @@ -24,7 +23,7 @@ int c_fifo::read(void* buf, int len) } if(i != len) { - ASSERT(FALSE); + ASSERT(false); } return i; } @@ -50,7 +49,7 @@ int c_fifo::write(void* buf, int len) if(i != len) { - ASSERT(FALSE); + ASSERT(false); } return i; } diff --git a/core/adapter/msg_win.cpp b/core/adapter/msg_win.cpp index d3bfcbe..59598a8 100644 --- a/core/adapter/msg_win.cpp +++ b/core/adapter/msg_win.cpp @@ -5,11 +5,11 @@ c_fifo::c_fifo() { m_head = m_tail = 0; - m_read_sem = CreateSemaphore(NULL, // default security attributes + m_read_sem = CreateSemaphore(0, // default security attributes 0, // initial count 1, // maximum count - NULL); // unnamed semaphore - m_write_mutex = CreateMutex(NULL, FALSE, NULL); + 0); // unnamed semaphore + m_write_mutex = CreateMutex(0, false, 0); } int c_fifo::read(void* buf, int len) @@ -29,7 +29,7 @@ int c_fifo::read(void* buf, int len) } if(i != len) { - ASSERT(FALSE); + ASSERT(false); } return i; } @@ -58,11 +58,11 @@ int c_fifo::write(void* buf, int len) if(i != len) { - ASSERT(FALSE); + ASSERT(false); } else { - ReleaseSemaphore(m_read_sem, 1, NULL); + ReleaseSemaphore(m_read_sem, 1, 0); } return i; } diff --git a/core/bitmap.cpp b/core/bitmap.cpp index cffe5a2..a93d3e3 100644 --- a/core/bitmap.cpp +++ b/core/bitmap.cpp @@ -6,125 +6,60 @@ void c_bitmap::draw_bitmap(c_surface* surface, int z_order, const BITMAP_INFO *pBitmap, int x, int y, unsigned int mask_rgb) { - if (0 == pBitmap) { return; } - draw_bitmap_565(surface, z_order, x, y, pBitmap->XSize, pBitmap->YSize, - (unsigned char const *)pBitmap->pData, mask_rgb); -} - -void c_bitmap::draw_bitmap_in_rect(c_surface* surface, int z_order, const BITMAP_INFO *pBitmap, c_rect rect, unsigned int align_type, unsigned int mask_rgb) -{ - if (0 == pBitmap) { return; } - int x, y; - get_bitmap_pos(pBitmap, rect, align_type, x, y); - draw_bitmap_565_in_rect(surface, z_order, rect.m_left + x, rect.m_top + y, - (rect.m_right - rect.m_left + 1), (rect.m_bottom - rect.m_top + 1), - pBitmap->XSize, pBitmap->YSize, (unsigned char const *)pBitmap->pData, mask_rgb); -} - -void c_bitmap::get_bitmap_pos(const BITMAP_INFO *pBitmap, c_rect rect, unsigned int align_type, int &x, int &y) -{ - int x_size = pBitmap->XSize; - int y_size = pBitmap->YSize; - - int height = rect.m_bottom - rect.m_top + 1; - int width = rect.m_right - rect.m_left + 1; - - x = y = 0; - - switch (align_type & ALIGN_HMASK) + if (0 == pBitmap) { - case ALIGN_HCENTER: - if (width > x_size) - { - x = (width - x_size)/2; - } - break; - case ALIGN_LEFT: - x = 0; - break; - case ALIGN_RIGHT: - if (width > x_size) - { - x = width - x_size; - } - break; - default: - ASSERT(0); - break; + return; } - - switch (align_type & ALIGN_VMASK) - { - case ALIGN_VCENTER: - if (height > y_size) - { - y = (height - y_size)/2; - } - break; - case ALIGN_TOP: - y = 0; - break; - case ALIGN_BOTTOM: - if (height > y_size) - { - y = height - y_size; - } - break; - default: - ASSERT(0); - break; - } -} - -void c_bitmap::draw_bitmap_565(c_surface* surface, int z_order, int x, int y, int xsize, int ysize, const unsigned char* pPixel, unsigned int mask_rgb) -{ - unsigned short* lower_fb = NULL; + unsigned short* lower_fb = 0; int lower_fb_width = surface->m_width; - if (z_order >= Z_ORDER_LEVEL_1) - { - lower_fb = surface->m_frame_layers[z_order - 1].fb; + if (z_order >= Z_ORDER_LEVEL_1) + { + lower_fb = surface->m_frame_layers[z_order - 1].fb; } unsigned int mask_rgb_16 = GL_RGB_32_to_16(mask_rgb); - const unsigned short* pData = (const unsigned short*)pPixel; - for (int j = 0; j < ysize; j++) + int xsize = pBitmap->XSize; + int ysize = pBitmap->YSize; + const unsigned short* pData = (const unsigned short*)pBitmap->pData; + for (int j = 0; j < ysize; j++) { - const unsigned short * p = pData; - for (int i = 0; i < xsize; i++) + for (int i = 0; i < xsize; i++) { - unsigned int rgb = *p++; + unsigned int rgb = *pData++; if (mask_rgb_16 == rgb) { if (lower_fb) {//restore lower layer surface->draw_pixel(x + i, y + j, GL_RGB_16_to_32(lower_fb[(y + j) * lower_fb_width + x + i]), z_order); - } + } } else { surface->draw_pixel(x + i, y + j, GL_RGB_16_to_32(rgb), z_order); } } - pData += xsize; } } -void c_bitmap::draw_bitmap_565_in_rect(c_surface* surface, int z_order, int x, int y, int width, int height, int xsize, int ysize, const unsigned char* pPixel, unsigned int mask_rgb) +void c_bitmap::draw_bitmap(c_surface* surface, int z_order, const BITMAP_INFO* pBitmap, int x, int y, int src_x, int src_y, int width, int height, unsigned int mask_rgb) { - unsigned short* lower_fb = NULL; + if (0 == pBitmap || (src_x + width > pBitmap->XSize) || (src_y + height > pBitmap->XSize)) + { + return; + } + + unsigned short* lower_fb = 0; int lower_fb_width = surface->m_width; - if (z_order >= Z_ORDER_LEVEL_1) - { - lower_fb = surface->m_frame_layers[z_order - 1].fb; + if (z_order >= Z_ORDER_LEVEL_1) + { + lower_fb = surface->m_frame_layers[z_order - 1].fb; } unsigned int mask_rgb_16 = GL_RGB_32_to_16(mask_rgb); - const unsigned short* pData = (const unsigned short*)pPixel; - for (int j = 0; j < ysize; j++) + const unsigned short* pData = (const unsigned short*)pBitmap->pData; + for (int j = 0; j < height; j++) { - if (j >= height) { break; } - const unsigned short * p = pData; - for (int i = 0; i < xsize; i++) + const unsigned short* p = &pData[src_x + (src_y + j) * pBitmap->XSize]; + for (int i = 0; i < width; i++) { - if (i >= width) { break; } unsigned int rgb = *p++; if (mask_rgb_16 == rgb) { @@ -138,6 +73,5 @@ void c_bitmap::draw_bitmap_565_in_rect(c_surface* surface, int z_order, int x, i surface->draw_pixel(x + i, y + j, GL_RGB_16_to_32(rgb), z_order); } } - pData += xsize; } } diff --git a/core/cmd_target.cpp b/core/cmd_target.cpp index 24cfd29..10e68e5 100644 --- a/core/cmd_target.cpp +++ b/core/cmd_target.cpp @@ -49,7 +49,7 @@ void c_cmd_target::load_cmd_msg() continue; } - bExist = FALSE; + bExist = false; for (int i = 0; i < ms_user_map_size; i++) { //repeat register, return. @@ -60,7 +60,7 @@ void c_cmd_target::load_cmd_msg() break; } } - if (TRUE == bExist) + if (true == bExist) { p_entry++; continue; @@ -73,12 +73,12 @@ void c_cmd_target::load_cmd_msg() ms_user_map_size++; if (USR_MSG_MAX == ms_user_map_size) { - ASSERT(FALSE); + ASSERT(false); } } else { - ASSERT(FALSE); + ASSERT(false); break; } p_entry++; diff --git a/core/display.cpp b/core/display.cpp index 4992f3f..5767770 100644 --- a/core/display.cpp +++ b/core/display.cpp @@ -15,7 +15,7 @@ c_display::c_display(void* phy_fb, unsigned int display_width, unsigned int disp if (color_bytes != 2 && color_bytes != 4) { log_out("Support 16 bits, 32 bits color only!"); - ASSERT(FALSE); + ASSERT(false); } m_width = display_width; @@ -43,7 +43,7 @@ c_surface* c_display::alloc_surface(void* usr, Z_ORDER_LEVEL max_zorder) if (m_surface_group[i]->m_usr == usr) { //repeat register - ASSERT(FALSE); + ASSERT(false); return m_surface_group[i]; } i++; @@ -52,7 +52,7 @@ c_surface* c_display::alloc_surface(void* usr, Z_ORDER_LEVEL max_zorder) i = 0; while (i < m_surface_cnt) { - if (m_surface_group[i]->m_usr == NULL) + if (m_surface_group[i]->m_usr == 0) { m_surface_group[i]->set_surface(usr, max_zorder); return m_surface_group[i]; @@ -60,8 +60,8 @@ c_surface* c_display::alloc_surface(void* usr, Z_ORDER_LEVEL max_zorder) i++; } //no surface for use - ASSERT(FALSE); - return NULL; + ASSERT(false); + return 0; } int c_display::merge_surface(c_surface* s0, c_surface* s1, int x0, int x1, int y0, int y1, int offset) @@ -72,14 +72,14 @@ int c_display::merge_surface(c_surface* s0, c_surface* s1, int x0, int x1, int y if (offset < 0 || offset > surface_width || y0 < 0 || y0 >= surface_height || y1 < 0 || y1 >= surface_height || x0 < 0 || x0 >= surface_width || x1 < 0 || x1 >= surface_width) { - ASSERT(FALSE); + ASSERT(false); return -1; } int width = (x1 - x0 + 1); if (width < 0 || width > surface_width || width < offset) { - ASSERT(FALSE); + ASSERT(false); return -1; } @@ -148,13 +148,13 @@ void* c_display::get_updated_fb(int* width, int* height, bool force_update) *width = get_width(); *height = get_height(); } - if (force_update) - { - return m_phy_fb; + if (force_update) + { + return m_phy_fb; } if (m_phy_read_index == m_phy_write_index) {//No update - return NULL; + return 0; } m_phy_read_index = m_phy_write_index; return m_phy_fb; diff --git a/core/surface.cpp b/core/surface.cpp index a253794..07d276f 100644 --- a/core/surface.cpp +++ b/core/surface.cpp @@ -18,7 +18,7 @@ c_surface::c_surface(c_display* display, unsigned int width, unsigned int heigh m_display = display; m_phy_fb = display->m_phy_fb; m_phy_write_index = &display->m_phy_write_index; - m_fb = m_usr = NULL; + m_fb = m_usr = 0; m_top_zorder = m_max_zorder = Z_ORDER_LEVEL_0; m_is_active = false; m_frame_layers[Z_ORDER_LEVEL_0].rect = c_rect(0, 0, m_width, m_height); @@ -35,9 +35,9 @@ void c_surface::set_surface(void* wnd_root, Z_ORDER_LEVEL max_z_order) } for(int i = Z_ORDER_LEVEL_0; i < m_max_zorder; i++) - {//Top layber fb always be NULL + {//Top layber fb always be 0 m_frame_layers[i].fb = (unsigned short*)calloc(m_width * m_height, sizeof(unsigned short)); - ASSERT(NULL != m_frame_layers[i].fb); + ASSERT(0 != m_frame_layers[i].fb); } } @@ -49,7 +49,7 @@ void c_surface::draw_pixel(int x, int y, unsigned int rgb, unsigned int z_order) } if (z_order > m_max_zorder) { - ASSERT(FALSE); + ASSERT(false); return; } rgb = GL_ROUND_RGB_32(rgb); @@ -65,7 +65,7 @@ void c_surface::draw_pixel(int x, int y, unsigned int rgb, unsigned int z_order) if (0 == m_frame_layers[z_order].rect.PtInRect(x, y)) { - ASSERT(FALSE); + ASSERT(false); return; } ((unsigned short*)(m_frame_layers[z_order].fb))[x + y * m_width] = GL_RGB_32_to_16(rgb); @@ -78,7 +78,7 @@ void c_surface::draw_pixel(int x, int y, unsigned int rgb, unsigned int z_order) bool is_covered = false; for (int tmp_z_order = Z_ORDER_LEVEL_MAX - 1; tmp_z_order > z_order; tmp_z_order--) { - if (TRUE == m_frame_layers[tmp_z_order].rect.PtInRect(x, y)) + if (true == m_frame_layers[tmp_z_order].rect.PtInRect(x, y)) { is_covered = true; break; @@ -150,7 +150,7 @@ void c_surface::fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned int rgb if (x0 < 0 || y0 < 0 || x1 < 0 || y1 < 0 || x0 >= m_width || x1 >= m_width || y0 >= m_height || y1 >= m_height) { - ASSERT(FALSE); + ASSERT(false); } int display_width = m_display->get_width(); int display_height = m_display->get_height(); @@ -162,7 +162,7 @@ void c_surface::fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned int rgb for (; y0 <= y1; y0++) { x = x0; - fb = m_fb ? &((unsigned int*)m_fb)[y0 * m_width + x] : NULL; + fb = m_fb ? &((unsigned int*)m_fb)[y0 * m_width + x] : 0; phy_fb = &((unsigned int*)m_phy_fb)[y0 * display_width + x]; *m_phy_write_index = *m_phy_write_index + 1; for (; x <= x1; x++) @@ -186,7 +186,7 @@ void c_surface::fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned int rgb for (; y0 <= y1; y0++) { x = x0; - fb = m_fb ? &((unsigned short*)m_fb)[y0 * m_width + x] : NULL; + fb = m_fb ? &((unsigned short*)m_fb)[y0 * m_width + x] : 0; phy_fb = &((unsigned short*)m_phy_fb)[y0 * display_width + x]; *m_phy_write_index = *m_phy_write_index + 1; for (; x <= x1; x++) @@ -210,7 +210,7 @@ unsigned int c_surface::get_pixel(int x, int y, unsigned int z_order) if (x >= m_width || y >= m_height || x < 0 || y < 0 || z_order >= Z_ORDER_LEVEL_MAX) { - ASSERT(FALSE); + ASSERT(false); return 0; } @@ -345,12 +345,12 @@ void c_surface::draw_line(int x1, int y1, int x2, int y2, unsigned int rgb, unsi void c_surface::draw_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order, unsigned int size) { - for (unsigned int offset = 0; offset < size; offset++) - { + for (unsigned int offset = 0; offset < size; offset++) + { draw_hline(x0 + offset, x1 - offset, y0 + offset, rgb, z_order); draw_hline(x0 + offset, x1 - offset, y1 - offset, rgb, z_order); draw_vline(x0 + offset, y0 + offset, y1 - offset, rgb, z_order); - draw_vline(x1 - offset, y0 + offset, y1 - offset, rgb, z_order); + draw_vline(x1 - offset, y0 + offset, y1 - offset, rgb, z_order); } } @@ -360,22 +360,22 @@ int c_surface::set_frame_layer(c_rect& rect, unsigned int z_order) { return 0; } - if (rect.m_left < 0 || rect.m_left >= m_width || - rect.m_right < 0 || rect.m_right >= m_width || - rect.m_top < 0 || rect.m_top >= m_height || - rect.m_bottom < 0 || rect.m_bottom >=m_height) - { - ASSERT(FALSE); - return -1; + if (rect.m_left < 0 || rect.m_left >= m_width || + rect.m_right < 0 || rect.m_right >= m_width || + rect.m_top < 0 || rect.m_top >= m_height || + rect.m_bottom < 0 || rect.m_bottom >=m_height) + { + ASSERT(false); + return -1; } if (!(z_order > Z_ORDER_LEVEL_0 && z_order < Z_ORDER_LEVEL_MAX)) { - ASSERT(FALSE); + ASSERT(false); return -2; } if (z_order < m_top_zorder) { - ASSERT(FALSE); + ASSERT(false); return -3; } m_top_zorder = (Z_ORDER_LEVEL)z_order; @@ -411,7 +411,7 @@ int c_surface::flush_scrren(int left, int top, int right, int bottom) if(left < 0 || left >= m_width || right < 0 || right >= m_width || top < 0 || top >= m_height || bottom < 0 || bottom >= m_height) { - ASSERT(FALSE); + ASSERT(false); } if(!m_is_active || (0 == m_phy_fb) || (0 == m_fb)) @@ -458,11 +458,11 @@ void c_surface_no_fb::fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned i { return; } - if (m_gfx_op->fill_rect) - { - return m_gfx_op->fill_rect(x0, y0, x1, y1, rgb); - } - + if (m_gfx_op->fill_rect) + { + return m_gfx_op->fill_rect(x0, y0, x1, y1, rgb); + } + if (m_gfx_op->draw_pixel && m_is_active) { for (int y = y0; y <= y1; y++) @@ -474,9 +474,9 @@ void c_surface_no_fb::fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned i } } - if (!m_fb) { return; } - if(m_color_bytes == 4) - { + if (!m_fb) { return; } + if(m_color_bytes == 4) + { unsigned int *fb; for (int y = y0; y <= y1; y++) { @@ -485,7 +485,7 @@ void c_surface_no_fb::fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned i { *fb++ = rgb; } - } + } } else if (m_color_bytes == 2) { @@ -504,9 +504,9 @@ void c_surface_no_fb::fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned i void c_surface_no_fb::draw_pixel_on_fb(int x, int y, unsigned int rgb) { - if (m_gfx_op && m_gfx_op->draw_pixel && m_is_active) + if (m_gfx_op && m_gfx_op->draw_pixel && m_is_active) { - m_gfx_op->draw_pixel(x, y, rgb); + m_gfx_op->draw_pixel(x, y, rgb); } if (!m_fb) { return; } diff --git a/core/theme.cpp b/core/theme.cpp index d51cab3..41c6e2a 100644 --- a/core/theme.cpp +++ b/core/theme.cpp @@ -11,7 +11,7 @@ int c_theme::add_font(FONT_TYPE index, const FONT_INFO* font) { if (index >= FONT_MAX) { - ASSERT(FALSE); + ASSERT(false); return -1; } s_font_map[index] = font; @@ -22,8 +22,8 @@ const FONT_INFO* c_theme::get_font(FONT_TYPE index) { if (index >= FONT_MAX) { - ASSERT(FALSE); - return NULL; + ASSERT(false); + return 0; } return s_font_map[index]; } @@ -32,7 +32,7 @@ int c_theme::add_bitmap(BITMAP_TYPE index, const BITMAP_INFO* bmp) { if (index >= BITMAP_MAX) { - ASSERT(FALSE); + ASSERT(false); return -1; } s_bmp_map[index] = bmp; @@ -43,8 +43,8 @@ const BITMAP_INFO* c_theme::get_bmp(BITMAP_TYPE index) { if (index >= BITMAP_MAX) { - ASSERT(FALSE); - return NULL; + ASSERT(false); + return 0; } return s_bmp_map[index]; } @@ -53,7 +53,7 @@ int c_theme::add_color(COLOR_TYPE index, const unsigned int color) { if (index >= COLOR_MAX) { - ASSERT(FALSE); + ASSERT(false); return -1; } s_color_map[index] = color; @@ -64,8 +64,8 @@ const unsigned int c_theme::get_color(COLOR_TYPE index) { if (index >= COLOR_MAX) { - ASSERT(FALSE); - return NULL; + ASSERT(false); + return 0; } return s_color_map[index]; } \ No newline at end of file diff --git a/core/wnd.cpp b/core/wnd.cpp index d6027a8..62a93e7 100644 --- a/core/wnd.cpp +++ b/core/wnd.cpp @@ -1,15 +1,15 @@ +#include "../core_include/api.h" #include "../core_include/rect.h" #include "../core_include/cmd_target.h" -#include "../core_include/api.h" #include "../core_include/resource.h" #include "../core_include/bitmap.h" #include "../core_include/surface.h" #include "../core_include/wnd.h" -c_wnd::c_wnd(): m_status(STATUS_NORMAL), m_style(GL_ATTR_VISIBLE), m_parent(NULL), m_top_child(NULL), m_prev_sibling(NULL), m_next_sibling(NULL), -m_str(0), m_font_color(0), m_bg_color(0), m_resource_id(0), m_z_order(Z_ORDER_LEVEL_0), m_focus_child(NULL), m_surface(NULL) +c_wnd::c_wnd(): m_status(STATUS_NORMAL), m_attr(ATTR_VISIBLE), m_parent(0), m_top_child(0), m_prev_sibling(0), m_next_sibling(0), +m_str(0), m_font_color(0), m_bg_color(0), m_resource_id(0), m_z_order(Z_ORDER_LEVEL_0), m_focus_child(0), m_surface(0) { - m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } int c_wnd::connect(c_wnd *parent, unsigned short resource_id, const char* str, @@ -17,7 +17,7 @@ int c_wnd::connect(c_wnd *parent, unsigned short resource_id, const char* str, { if(0 == resource_id) { - ASSERT(FALSE); + ASSERT(false); return -1; } @@ -31,9 +31,9 @@ int c_wnd::connect(c_wnd *parent, unsigned short resource_id, const char* str, m_z_order = parent->m_z_order; m_surface = parent->m_surface; } - if(NULL == m_surface) + if(0 == m_surface) { - ASSERT(FALSE); + ASSERT(false); return -2; } @@ -64,7 +64,7 @@ int c_wnd::connect(c_wnd *parent, unsigned short resource_id, const char* str, int c_wnd::load_child_wnd(WND_TREE *p_child_tree) { - if (NULL == p_child_tree) + if (0 == p_child_tree) { return 0; } @@ -75,7 +75,7 @@ int c_wnd::load_child_wnd(WND_TREE *p_child_tree) { if (0 != p_cur->p_wnd->m_resource_id) {//This wnd has been used! Do not share! - ASSERT(FALSE); + ASSERT(false); return -1; } else @@ -94,8 +94,8 @@ c_wnd* c_wnd::connect_clone(c_wnd *parent, unsigned short resource_id, const cha { if(0 == resource_id) { - ASSERT(FALSE); - return NULL; + ASSERT(false); + return 0; } c_wnd* wnd = clone(); @@ -113,10 +113,10 @@ c_wnd* c_wnd::connect_clone(c_wnd *parent, unsigned short resource_id, const cha { wnd->m_surface = m_surface; } - if(NULL == wnd->m_surface) + if(0 == wnd->m_surface) { - ASSERT(FALSE); - return NULL; + ASSERT(false); + return 0; } /* (cs.x = x * 1024 / 768) for 1027*768=>800*600 quickly*/ @@ -146,7 +146,7 @@ c_wnd* c_wnd::connect_clone(c_wnd *parent, unsigned short resource_id, const cha int c_wnd::load_clone_child_wnd(WND_TREE *p_child_tree) { - if (NULL == p_child_tree) + if (0 == p_child_tree) { return 0; } @@ -170,10 +170,10 @@ void c_wnd::disconnect() return; } - if (NULL != m_top_child) + if (0 != m_top_child) { c_wnd *child = m_top_child; - c_wnd *next_child = NULL; + c_wnd *next_child = 0; while (child) { @@ -208,11 +208,11 @@ c_wnd* c_wnd::get_wnd_ptr(unsigned short id) const return child; } -void c_wnd::set_style(unsigned int style) +void c_wnd::set_attr(WND_ATTRIBUTION attr) { - m_style = style; + m_attr = attr; - if ( GL_ATTR_DISABLED == (m_style & GL_ATTR_DISABLED) ) + if ( ATTR_DISABLED == (attr & ATTR_DISABLED) ) { m_status = STATUS_DISABLED; } @@ -227,15 +227,15 @@ void c_wnd::set_style(unsigned int style) int c_wnd::is_focus_wnd() const { - if ( (m_style & GL_ATTR_VISIBLE) - && !(m_style & GL_ATTR_DISABLED) - && (m_style & GL_ATTR_FOCUS)) + if ( (m_attr & ATTR_VISIBLE) + && !(m_attr & ATTR_DISABLED) + && (m_attr & ATTR_FOCUS)) { - return TRUE; + return true; } else { - return FALSE; + return false; } } @@ -266,7 +266,7 @@ void c_wnd::wnd2screen(int &x, int &y) const x += m_wnd_rect.m_left; y += m_wnd_rect.m_top; - while ( NULL != parent ) + while ( 0 != parent ) { parent->get_wnd_rect(rect); x += rect.m_left; @@ -295,7 +295,7 @@ void c_wnd::screen2wnd(short &x, short &y) const x -= m_wnd_rect.m_left; y -= m_wnd_rect.m_top; - while ( NULL != parent ) + while ( 0 != parent ) { parent->get_wnd_rect(rect); x -= rect.m_left; @@ -317,7 +317,7 @@ void c_wnd::screen2wnd(c_rect &rect) const c_wnd* c_wnd::set_child_focus(c_wnd * focus_child) { - ASSERT(NULL != focus_child); + ASSERT(0 != focus_child); ASSERT(focus_child->m_parent == this); c_wnd *old_focus_child = m_focus_child; @@ -343,33 +343,33 @@ c_wnd* c_wnd::set_child_focus(c_wnd * focus_child) void c_wnd::add_child_2_tail(c_wnd *child) { - if( NULL == child )return; + if( 0 == child )return; if(child == get_wnd_ptr(child->m_resource_id))return; - if ( NULL == m_top_child ) + if ( 0 == m_top_child ) { m_top_child = child; - child->m_prev_sibling = NULL; - child->m_next_sibling = NULL; + child->m_prev_sibling = 0; + child->m_next_sibling = 0; } else { c_wnd *last_child = get_last_child(); - if (NULL == last_child) + if (0 == last_child) { - ASSERT(FALSE); + ASSERT(false); } last_child->m_next_sibling = child; child->m_prev_sibling = last_child; - child->m_next_sibling = NULL; + child->m_next_sibling = 0; } } c_wnd* c_wnd::get_last_child() const { - if ( NULL == m_top_child ) + if ( 0 == m_top_child ) { - return NULL; + return 0; } c_wnd *child = m_top_child; @@ -384,29 +384,29 @@ c_wnd* c_wnd::get_last_child() const int c_wnd::unlink_child(c_wnd *child) { - if ((NULL == child) + if ((0 == child) || (this != child->m_parent)) { return -1; } - if (NULL == m_top_child) + if (0 == m_top_child) { return -2; } - int find = FALSE; + int find = false; c_wnd *tmp_child = m_top_child; if (tmp_child == child) { m_top_child = child->m_next_sibling; - if (NULL != child->m_next_sibling) + if (0 != child->m_next_sibling) { - child->m_next_sibling->m_prev_sibling = NULL; + child->m_next_sibling->m_prev_sibling = 0; } - find = TRUE; + find = true; } else { @@ -415,12 +415,12 @@ int c_wnd::unlink_child(c_wnd *child) if (child == tmp_child->m_next_sibling) { tmp_child->m_next_sibling = child->m_next_sibling; - if (NULL != child->m_next_sibling) + if (0 != child->m_next_sibling) { child->m_next_sibling->m_prev_sibling = tmp_child; } - find = TRUE; + find = true; break; } @@ -428,15 +428,15 @@ int c_wnd::unlink_child(c_wnd *child) } } - if (TRUE == find) + if (true == find) { if (m_focus_child == child) { - m_focus_child = NULL; + m_focus_child = 0; } - child->m_next_sibling = NULL; - child->m_prev_sibling = NULL; + child->m_next_sibling = 0; + child->m_prev_sibling = 0; return 1; } else @@ -447,11 +447,11 @@ int c_wnd::unlink_child(c_wnd *child) void c_wnd::show_window() { - if (GL_ATTR_VISIBLE == (m_style & GL_ATTR_VISIBLE)) + if (ATTR_VISIBLE == (m_attr & ATTR_VISIBLE)) { on_paint(); c_wnd *child = m_top_child; - if ( NULL != child ) + if ( 0 != child ) { while ( child ) { @@ -469,17 +469,17 @@ bool c_wnd::on_touch(int x, int y, TOUCH_ACTION action) y -= m_wnd_rect.m_top; c_wnd* child = m_top_child; - c_wnd* target_wnd = NULL; + c_wnd* target_wnd = 0; int target_z_order = Z_ORDER_LEVEL_0; while (child) { - if (GL_ATTR_VISIBLE == (child->m_style & GL_ATTR_VISIBLE)) + if (ATTR_VISIBLE == (child->m_attr & ATTR_VISIBLE)) { child->get_wnd_rect(rect); - if (TRUE == rect.PtInRect(x, y) || child->m_style & GL_ATTR_MODAL) + if (true == rect.PtInRect(x, y) || child->m_attr & ATTR_MODAL) { - if (TRUE == child->is_focus_wnd()) + if (true == child->is_focus_wnd()) { if (child->m_z_order >= target_z_order) { @@ -492,7 +492,7 @@ bool c_wnd::on_touch(int x, int y, TOUCH_ACTION action) child = child->m_next_sibling; } - if (target_wnd == NULL) + if (target_wnd == 0) { return false; } @@ -522,12 +522,12 @@ bool c_wnd::on_key(KEY_TYPE key) if (!old_focus_wnd) {// No current focus wnd, new one. c_wnd *child = m_top_child; - c_wnd *new_focus_wnd = NULL; + c_wnd *new_focus_wnd = 0; while (child) { - if (GL_ATTR_VISIBLE == (child->m_style & GL_ATTR_VISIBLE)) + if (ATTR_VISIBLE == (child->m_attr & ATTR_VISIBLE)) { - if (TRUE == child->is_focus_wnd()) + if (true == child->is_focus_wnd()) { new_focus_wnd = child; new_focus_wnd->m_parent->set_child_focus(new_focus_wnd); @@ -568,7 +568,7 @@ void c_wnd::notify_parent(unsigned int msg_id, unsigned int ctrl_id, int param) return; } const GL_MSG_ENTRY* entry = m_parent->FindMsgEntry(m_parent->GetMSgEntries(), MSG_TYPE_WND, msg_id, ctrl_id); - if (NULL == entry) + if (0 == entry) { return; } @@ -591,7 +591,7 @@ void c_wnd::notify_parent(unsigned int msg_id, unsigned int ctrl_id, int param) (m_parent->*msg_funcs.func_vwl)(ctrl_id, param); break; default: - ASSERT(FALSE); + ASSERT(false); break; } } diff --git a/core/word.cpp b/core/word.cpp index d4f6404..65f6479 100644 --- a/core/word.cpp +++ b/core/word.cpp @@ -46,7 +46,7 @@ inline static int get_utf8_code(const char* s, unsigned int& output_utf8_code) output_utf8_code = (*us << 24) | ((*(us + 1)) << 16) | (*(us + 2) << 8) | *(us + 3); break; default: - ASSERT(FALSE); + ASSERT(false); break; } return utf8_bytes; @@ -68,7 +68,7 @@ void c_word::draw_value(c_surface* surface, int z_order, int value, int dot_posi void c_word::draw_string_in_rect(c_surface* surface, int z_order, const char *s, c_rect rect, const FONT_INFO* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type) { - if(NULL == s) + if(0 == s) { return; } @@ -79,7 +79,7 @@ void c_word::draw_string_in_rect(c_surface* surface, int z_order, const char *s, void c_word::draw_string(c_surface* surface, int z_order, const char *s, int x, int y, const FONT_INFO* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type) { - if (NULL == s) + if (0 == s) { return; } @@ -96,11 +96,6 @@ void c_word::draw_string(c_surface* surface, int z_order, const char *s, int x, void c_word::value_2_string(int value, int dot_position, char* buf, int len) { memset(buf, 0, len); - if (XXX == value) - { - sprintf(buf, "%s", "---"); - return; - } switch (dot_position) { case 0: @@ -116,7 +111,7 @@ void c_word::value_2_string(int value, int dot_position, char* buf, int len) sprintf(buf, "%.3f", value*1.0 / 1000); break; default: - ASSERT(FALSE); + ASSERT(false); break; } } @@ -141,7 +136,7 @@ const LATTICE* c_word::get_lattice(const FONT_INFO* font, unsigned int utf8_code } middle = (first + last) / 2; } - return NULL; + return 0; } int c_word::draw_single_char(c_surface* surface, int z_order, unsigned int utf8_code, int x, int y, const FONT_INFO* font, unsigned int font_color, unsigned int bg_color) @@ -217,7 +212,7 @@ void c_word::draw_lattice(c_surface* surface, int z_order, int x, int y, int wid int c_word::get_str_size(const char *s, const FONT_INFO* font, int& width, int& height) { - if(NULL == s || NULL == font) + if(0 == s || 0 == font) { width = height = 0; return -1; diff --git a/core_include/api.h b/core_include/api.h index 27c99f5..1a52c26 100644 --- a/core_include/api.h +++ b/core_include/api.h @@ -2,18 +2,6 @@ #define API_H #define REAL_TIME_TASK_CYCLE_MS 50 -#define XXX -999 -#define NULL 0 -#define TRUE 1 -#define FALSE 0 - -void register_debug_function(void(*my_assert)(const char* file, int line), void(*my_log_out)(const char* log)); -void _assert(const char* file, int line); -#define ASSERT(condition) \ - do{ \ - if(!(condition))_assert(__FILE__, __LINE__);\ - }while(0) -void log_out(const char* log); #define GL_ARGB(a, r, g, b) ((((unsigned int)(a)) << 24) | (((unsigned int)(r)) << 16) | (((unsigned int)(g)) << 8) | ((unsigned int)(b))) #define GL_ARGB_A(rgb) ((((unsigned int)(rgb)) >> 24) & 0xFF) @@ -25,7 +13,17 @@ void log_out(const char* log); #define GL_RGB_32_to_16(rgb) (((((unsigned int)(rgb)) & 0xFF) >> 3) | ((((unsigned int)(rgb)) & 0xFC00) >> 5) | ((((unsigned int)(rgb)) & 0xF80000) >> 8)) #define GL_RGB_16_to_32(rgb) ((0xFF << 24) | ((((unsigned int)(rgb)) & 0x1F) << 3) | ((((unsigned int)(rgb)) & 0x7E0) << 5) | ((((unsigned int)(rgb)) & 0xF800) << 8)) -typedef struct _T_TIME +#define ALIGN_HCENTER 0x00000000L +#define ALIGN_LEFT 0x01000000L +#define ALIGN_RIGHT 0x02000000L +#define ALIGN_HMASK 0x03000000L + +#define ALIGN_VCENTER 0x00000000L +#define ALIGN_TOP 0x00100000L +#define ALIGN_BOTTOM 0x00200000L +#define ALIGN_VMASK 0x00300000L + +typedef struct { unsigned short year; unsigned short month; @@ -36,6 +34,14 @@ typedef struct _T_TIME unsigned short second; }T_TIME; +void register_debug_function(void(*my_assert)(const char* file, int line), void(*my_log_out)(const char* log)); +void _assert(const char* file, int line); +#define ASSERT(condition) \ + do{ \ + if(!(condition))_assert(__FILE__, __LINE__);\ + }while(0) +void log_out(const char* log); + long get_time_in_second(); T_TIME second_to_day(long second); T_TIME get_time(); diff --git a/core_include/bitmap.h b/core_include/bitmap.h index 00ad63f..c1a5b0e 100644 --- a/core_include/bitmap.h +++ b/core_include/bitmap.h @@ -7,11 +7,7 @@ class c_bitmap { public: static void draw_bitmap(c_surface* surface, int z_order, const BITMAP_INFO *pBitmap, int x, int y, unsigned int mask_rgb = DEFAULT_MASK_COLOR); - static void draw_bitmap_in_rect(c_surface* surface, int z_order, const BITMAP_INFO *pBitmap, c_rect rect, unsigned int align_type, unsigned int mask_rgb = DEFAULT_MASK_COLOR); -private: - static void draw_bitmap_565(c_surface* surface, int z_order, int x, int y, int xsize, int ysize, const unsigned char* pPixel, unsigned int mask_color); - static void get_bitmap_pos(const BITMAP_INFO *pBitmap, c_rect rect, unsigned int align_type, int &x, int &y); - static void draw_bitmap_565_in_rect(c_surface* surface, int z_order, int x, int y, int width, int height, int xsize, int ysize, const unsigned char* pPixel, unsigned int mask_color); + static void draw_bitmap(c_surface* surface, int z_order, const BITMAP_INFO* pBitmap, int x, int y, int src_x, int src_y, int width, int height, unsigned int mask_rgb = DEFAULT_MASK_COLOR); }; #endif diff --git a/core_include/display.h b/core_include/display.h index 10a1288..e64813e 100644 --- a/core_include/display.h +++ b/core_include/display.h @@ -11,7 +11,7 @@ class c_display { public: c_display(void* phy_fb, unsigned int display_width, unsigned int display_height, unsigned int surface_width, unsigned int surface_height, - unsigned int color_bytes, unsigned int surface_cnt, EXTERNAL_GFX_OP* gfx_op = NULL); + unsigned int color_bytes, unsigned int surface_cnt, EXTERNAL_GFX_OP* gfx_op = 0); c_surface* alloc_surface(void* usr, Z_ORDER_LEVEL max_zorder); int merge_surface(c_surface* s1, c_surface* s2, int x0, int x1, int y0, int y2, int offset); unsigned int get_width() { return m_width; } diff --git a/core_include/rect.h b/core_include/rect.h index 8c043fd..5651bb5 100644 --- a/core_include/rect.h +++ b/core_include/rect.h @@ -1,16 +1,6 @@ #ifndef RECT_H #define RECT_H -#define ALIGN_HCENTER 0x00000000L -#define ALIGN_LEFT 0x01000000L -#define ALIGN_RIGHT 0x02000000L -#define ALIGN_HMASK 0x03000000L - -#define ALIGN_VCENTER 0x00000000L -#define ALIGN_TOP 0x00100000L -#define ALIGN_BOTTOM 0x00200000L -#define ALIGN_VMASK 0x00300000L - class c_rect { public: diff --git a/core_include/surface.h b/core_include/surface.h index 4c284a5..e8dd5cd 100644 --- a/core_include/surface.h +++ b/core_include/surface.h @@ -4,7 +4,7 @@ class c_frame_layer { public: - c_frame_layer() { fb = NULL;} + c_frame_layer() { fb = 0;} unsigned short* fb; c_rect rect; }; @@ -63,7 +63,7 @@ protected: int m_height; //in pixels int m_color_bytes; //16 bits, 32 bits only void* m_fb; //Top frame buffer you could see - c_frame_layer m_frame_layers[Z_ORDER_LEVEL_MAX];//Top layber fb always be NULL + c_frame_layer m_frame_layers[Z_ORDER_LEVEL_MAX];//Top layber fb always be 0 void* m_usr; bool m_is_active; Z_ORDER_LEVEL m_max_zorder; diff --git a/core_include/wnd.h b/core_include/wnd.h index 0cfff5c..5ff114e 100644 --- a/core_include/wnd.h +++ b/core_include/wnd.h @@ -1,18 +1,20 @@ #ifndef WND_H #define WND_H -//Window attribution -#define GL_ATTR_VISIBLE 0x80000000L -#define GL_ATTR_DISABLED 0x40000000L -#define GL_ATTR_FOCUS 0x20000000L -#define GL_ATTR_MODAL 0x10000000L// Handle touch action at high priority - typedef struct struct_font_info FONT_INFO; typedef struct struct_color_rect COLOR_RECT; class c_wnd; class c_surface; +typedef enum +{ + ATTR_VISIBLE = 0x80000000L, + ATTR_DISABLED = 0x40000000L, + ATTR_FOCUS = 0x20000000L, + ATTR_MODAL = 0x10000000L// Handle touch action at high priority +}WND_ATTRIBUTION; + typedef enum { STATUS_NORMAL, @@ -53,9 +55,9 @@ public: c_wnd(); virtual ~c_wnd() {}; virtual int connect(c_wnd *parent, unsigned short resource_id, const char* str, - short x, short y, short width, short height, WND_TREE* p_child_tree = NULL); + short x, short y, short width, short height, WND_TREE* p_child_tree = 0); virtual c_wnd* connect_clone(c_wnd *parent, unsigned short resource_id, const char* str, - short x, short y, short width, short height, WND_TREE* p_child_tree = NULL); + short x, short y, short width, short height, WND_TREE* p_child_tree = 0); void disconnect(); virtual c_wnd* clone() = 0; virtual void on_init_children() {} @@ -65,8 +67,8 @@ public: unsigned short get_id() const { return m_resource_id; } int get_z_order() { return m_z_order; } c_wnd* get_wnd_ptr(unsigned short id) const; - unsigned int get_style() const { return m_style; } - void set_style(unsigned int style); + unsigned int get_attr() const { return m_attr; } + void set_attr(WND_ATTRIBUTION attr); void set_str(const char* str) { m_str = str; } int is_focus_wnd() const; @@ -114,7 +116,7 @@ protected: virtual void on_kill_focus() {}; protected: WND_STATUS m_status; - unsigned int m_style; + WND_ATTRIBUTION m_attr; c_rect m_wnd_rect;// position relative to parent wnd. c_wnd* m_parent; c_wnd* m_top_child; diff --git a/doc/CharityTracker.md b/doc/CharityTracker.md deleted file mode 100644 index 8aeca8e..0000000 --- a/doc/CharityTracker.md +++ /dev/null @@ -1,32 +0,0 @@ -# Charity tracker -[中文](#大病儿童救助记录) -- We give to sick kids -- Each give was replied with "Donated from GuiLite Dev" for easy searching - -## How to work -![WorkFlow](CharityWorkFlow.png) -## Tracker list -| Date Given | Amount | Recipient Organization | Kid's name | Reason | -| --- | --- | --- | --- | --- | -| 2019-6-24 | ¥20 | China Charities Aid Foundation for Children | Yan Wang | [Blood cancer](https://yglian.qschou.com/gongyi/publicSite/detail?ChannelId=zhech&id=201905230000000050026157&mp=toutiao20190624) | -| 2019-6-25 | ¥20 | China Charities Aid Foundation for Children | Yixuan Wu | [Blood cancer](https://www.toutiao.com/a6706325979037434375/?timestamp=1561466239&app=news_article&group_id=6706325979037434375&req_id=201906252037190100180692204641D7D) | -| 2019-6-25 | ¥20 | China Charities Aid Foundation for Children | Chenchen | [Neuroblastoma](https://m.toutiaocdn.com/group/6706384216721998339/?app=news_article×tamp=1561466189&req_id=2019062520362901001703913820265FD&group_id=6706384216721998339) | -| 2019-6-28 | ¥20 | China Charities Aid Foundation for Children | Xinliang Wang | [Fire burn](https://m.toutiaocdn.com/item/6707482644117979661/?app=news_article×tamp=1561734886&req_id=201906282314460100160191554395E50&group_id=6707482644117979661) | -| 2019-6-28 | ¥20 | China Charities Aid Foundation for Children | Zihan Lin | [Acute lymphoblastic leukemia](https://m.toutiaocdn.com/item/6707041382608929291/?app=news_article×tamp=1561734915&req_id=201906282315150101520440935242685&group_id=6707041382608929291) | -| 2019-6-28 | ¥20 | China Charities Aid Foundation for Children | Ziyang Li | [Pancreatoblastoma](https://m.toutiaocdn.com/item/6706008540542140940/?app=news_article×tamp=1561734932&req_id=2019062823153101001703913896979C2&group_id=6706008540542140940) | - -# 大病儿童救助记录 -- 我们救助“大病”儿童 -- 每条救助下面都有回复:“GuiLite开发者捐助”,以便查询 - -## 救助流程 -![WorkFlow](CharityWorkFlow.png) -## 救助记录 -| 救助日期 | 金额 | 收款机构 | 受助者姓名 | 受助原因 | -| --- | --- | --- | --- | --- | -| 2019-6-24 | ¥20 | 中华少年儿童慈善救助基金会 | 王研 | [血癌](https://yglian.qschou.com/gongyi/publicSite/detail?ChannelId=zhech&id=201905230000000050026157&mp=toutiao20190624) | -| 2019-6-25 | ¥20 | 中华少年儿童慈善救助基金会 | 吴奕轩 | [血癌](https://www.toutiao.com/a6706325979037434375/?timestamp=1561466239&app=news_article&group_id=6706325979037434375&req_id=201906252037190100180692204641D7D) | -| 2019-6-25 | ¥20 | 中华少年儿童慈善救助基金会 | 晨晨 | [神经母细胞瘤](https://m.toutiaocdn.com/group/6706384216721998339/?app=news_article×tamp=1561466189&req_id=2019062520362901001703913820265FD&group_id=6706384216721998339) | -| 2019-6-28 | ¥20 | 中华少年儿童慈善救助基金会 | 王兴亮 | [烧伤](https://m.toutiaocdn.com/item/6707482644117979661/?app=news_article×tamp=1561734886&req_id=201906282314460100160191554395E50&group_id=6707482644117979661) | -| 2019-6-28 | ¥20 | 中华少年儿童慈善救助基金会 | 林子涵 | [急性淋巴细胞白血病](https://m.toutiaocdn.com/item/6707041382608929291/?app=news_article×tamp=1561734915&req_id=201906282315150101520440935242685&group_id=6707041382608929291) | -| 2019-6-28 | ¥20 | 中华少年儿童慈善救助基金会 | 李子洋| [胰母细胞瘤](https://m.toutiaocdn.com/item/6706008540542140940/?app=news_article×tamp=1561734932&req_id=2019062823153101001703913896979C2&group_id=6706008540542140940) | \ No newline at end of file diff --git a/doc/CharityWorkFlow.png b/doc/CharityWorkFlow.png deleted file mode 100644 index dad5c0d39e16b6e16125e73fe5e86e4c2071d92e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18667 zcmYJabyV9;^9Kq6iUgP74#k2ON}&{Ymr`5;#oeX2ySo-I6bVqExLa{|FYfN#^m%{x z-am43W_Q+RXJ_ZLGv9D!MJWt45;QnCI1CwSaaA}tcoR4{01gTOR&wE^oCf=YcT$xS zg{vGT+lLW|W+DnAaB$FA;FA#&j7GJW)^dV_!|eX|gYUO1g*BJUQYNzB0Asa_i}kI-CNF1>8{jLq5_{( z^QU}9X>nQ{iRrUA#OSwvFZvYg& z@=JO7Y`ynE-J6n{XR22hJ62~mjfZCDnIGu~SJuBKRgQnSV%&u7%61>!O&?7k9qIO4 zo9!M6-^Qo^mMIM~y0-grX}}r_7uXH?o<=bqHn`vRyI{t0_s%<$f%5M9Dh7dD0BdyG z$CZqA%C1JX$f{R*j#D{gWA}{5Og$CDjg>TmC^Ls>KQql}#vT;~7#YmvS(fZEHKm6) zW$gBe*LBV~^z~Wh9C53_Y-O`^F6Z6V?3CAgu+aF#2T;5@Rmv=zoFoevgtm9^Gm0!@ zkMd~sapLjT_vmpGj3@K@CsyyuE!Cyn{k-#KwHrq(Bn$`J z++F2!?zKBPJWiK&QR=@#WBYAVt!YwNI|;S7-rUbhdzty8rG`&yyvObZKRO7k?Qv2SxHQ44-0k&`^UsfN zVf+O#-D_(PUD3B}8GH#WWADpJ{>DcEB7(D+`G>}*oloQUvs1q*5*e%4zS{ZN-!->u zyPs8;?uuY$`k-gjgm6Qsk!kDq3d(D1>{VVz=T`e}nd)i|Z4Amzh{qf+Y0y`=yF*3P zioer(9zQ+P`lL?7dA(k(Zk*HR=c5HChL0A04zqy9Z4oeD?N?~LdDDFR zWY_k?A^>Xl^zCMUqLWyVIP1rU-Jxa0FiB{KG*U!!6j|0hZ2vqEAW`0wEoLT)yGfip zOwmM~{#?+w_|zilD`$-+ft@=q%D2Srr(dQr-F~z<;e^EBYx_yWtAML_UsSCh7)ttI zY!XX3iiw&J&sP!f^7Bb))fV=96Qsc=L|>UmpPi)o+wKhVyV4*}ISS8#EBO%gXSL-C ziD`XsHFr%?*2$>suSJ=&Q?)C*k0(LDb*g_ZUE(;@3(G${-cC$}=aju|FH#QwBsJ>RFI*<-lVaIXv@Gi z-{8<@)clGab!4QxP|f#UR>|Sn^tMtC4gnXsfycpgiXa}AZTCUUpHJ+ukv-eS0_AvW z`4F6u$ewVX(xa6)fLgX7f9sZCX`GSgAE4kNp)oJD)_t^9s?X-dK|cI^+E0&dPd)^# zz~!=z+KaDeM-J@|R9U)@cNqS1(wvve-^+T3X@q~%2lmqBSeo?@#{}k!hCJtfGk-0i z2+0ofMTWocJ-J;GY`*2Nme2WgsKLkmlrm+X3m{GTK4%xVIr(~FEG2Y}o#lIwqytEe zgWTK)ekOubP5KN|!p;4IgI5>L4K*G8GcyeM?T1hWG)B=i3l=Dv4pAKG z$Kv7P%h0mc&nnbNl@>OCGV)-@r$>$a$e)RY`3mks$4_`yvQ2gFMr410SM4UB(cw#DY+se{;iiLm2$2#WxsBEI{)9>d)5Y-!7gGfb2b@-Pu_3t8#A$^wEPuDU zA3x&rC(VMIC!%L-Ct-pj-AzkOn>0r82)H`h#ENmL&|uO{~oq%@vh<0~@DSN}x$23bwtNYwch68QA)tdoz$%G4>H608c^SZh`xO zYx|GqluPG4mupUnnx-4=;#o9eF82dqbUz(@buMP5bA#I$^;nssv^))JAoXj1U%%Jom~_ZSbV6{( zdWM(RzcNIk8K-o<&-$nWz3@_J3XVgEEv-0qw6or0J-I)U-#8)%FV%JQG8JFSd9&)W<5G7^n39$2HU$ z?=L~wls7p?e-LE~@;RDBpl;xG5H#1u1&xp6k#`!wc(#w0H_rEaeIGql%$&KL7eWp) z?zi+fCw0kY#>X-KD%5BeuCLp_cDc3Y@4in7=P!ts@bww|-uX#I#xLZTDFVid@;qIn z1e$5g=<$*ObW>;U+*F+9Puo*{dT-#?h#O0SA5d&&u{tE=6Qf0JFAaI9XA{F?)0gE( zWSIRl?R@>v{yM|H`aa<>(x!1)y^624^hEgO24+BOeM{RfgXra6*OFnJ#_OLCQ?K$hog|@%ufd-g%~%mshd+EE4eAj$FAJZ&+EnFJoy%==KZ^J<&;P~m-bsp zQz-ZLK8hb5?$W15?WGJcf;@`Njv8V17-nxDc6Z8VM$aF4l|G#v?vo>%x{_s``=~zU z#+nzZ?rU>Sx}YZ+-FuV%I?n>Pyxoew&kiaJ%ZXV!5H_Qi_@IRsDc9L4Ym*f4K z5>?MSK>#${Nus$@7^!V*`5WI*Nl5TkknKl^ssTdu!mBbUOms<=7qF5V42_XP_&z-+ zEVt7G@S4z0GY4!W1an5o8GYF;Z>QIT`13vmtH@EcC=($x;#<1JK;$fY0JMATQ62y> zxZsH(?v2m8jPDXvz~jhTL>U7U8%C4<+$x{9zp6qz8V9->QLyqcmr;t**kS(O(ifxP z?W_F6V*qSi*?~~uHU6QE7-*y(lhpk z7;&Bc_C;>-y#X@tiq%(BKMVP=OW(b~96;jEWMOYkY(LK=+{b>HAB@DHv&r;DwX~nX z-wEd7$=b`r=@V#BlV|abX@ZGZ*UR#nIev<2vv*}1Lk+J2reaSnsuB0og53KcokW0C z^G&l~50i6an->0uSU+;C|pSi zDqV^?M^!Y?4w1xQs00&ozRAk3*@d4F>i+(eEqUDSy(Htbp$R$v`<%BRAQ@~!2$}k+ zKut~xL?;%7ntALYf{-Ycy>nLchDF1lnaMWDCB4+D32=lNtd9(o^PFtV(mMO|#rQ&5c;yo_&xpxb+3#QL%ga6}sbi%YOfe8TBdsM=DQVNZtme;VvcE3`Q?`0aUiRrG9M zomb^~zUbjTNd|96)+v&T7vHY-y9dzC3=~5qi|;%+@c6Zq6{ptXoL)lWYHuIWxMN4- zc*FQh(-0d-JS2M2w6#mlJ@0Zn2$YE;L1j=~PpS`QfkE*7q+8c{T|k-8?T)BwW}O#Rue< zjD5Pujg2|QcL|}EyiNCY-5bx*0+h4;29gMw837eph&Gj_S)S;oBLNXeB?RaWdxZqJ zXY{k#`QiVOr9}ij`Pcd8kWLFEF|q)Q;9Qh;G=OA+-G;p*@8r zWLre^e^f#X>SlyKANapM!xdSc_~Ie|N69=cply0?l>Ij^1`q9xP{)Y>ml~7ewKxb) z{BHqS))v8(0iGL$|6^3rruHwFkqPnoU*!|5lHXHA8?3B_5d3d$vasdyT~>%mfH}zg zCuIp?lC+sFCh%FTL`j^-0k+c^%Aov{Zc+(>&sALpJ|2XcKqSTbpKzoMw5bPc103@u zz=e#Z$3*|w>R?T;bj$-`Fkv$92kAd)bH-`haaIv7^mbKYzIocI3!sjH)`>z)_hlx- zk@(H#B|5_EAlr*(yRC;DDKF8!ETbWCRr~xq)_g<{*_4T~I|IxX-C(xJffSkM~NH$oSh2PR5 zxQNHt@Rx>+It33`tGtn`9Z*(c7ju{fK`1$(P6R} zXC=GaZe5+r@!s5HLX!*a;v~U(Vnue;6k-p7$Z>_kA1_-^T)u3o<$0>b`jTKijppsv zd|lu3uNeQ@e(5LA-|>!)+#MZuT(%3iP$rFhttLwgu5w;~?m&;f9QQ^75+&ug{E-4FHmM2YZm4{*1 z$!V1EDZ7BHoC`%wA4kD%c1_J2_hqy_l%Jf#Z`W}(zpNZq`Wb7MRwr1o@B5h{9AJ0Y z;rMiM=Jb=2aUpdeXufJDr^-Ly_J2KquZpklfF3-#xG#g+FX0NQ^P(7C;ViSq9*;hLJfiM{4L7%M%+Q9EYQh#ER5FuZ_aDH z9F(=XWBryJG#)lIZmDbMIPtdAZenbC`;&t@LYd<;GFyBkSq+x+8!`m5GZUifYiuc= zya;W$;TYRq1Yt?INwfjJyz@QlNWSkd8aG+%CisLHJYQ|F%QMGX@itab?8dXo^F~~TBLfYx8o`e))rYZug<^=5a6#BGt zEpA(v9kXFUDB5xCA!H1^Hs59PVV2RM6%K!~kOhRfQsIYhxcQxw<42$4c0B3EN3hC# zWnj#@j51m}xDFu4GLDkd55sfCUMtCs00zoe^a1QF)So)lDEp{wM5hK}43=*6=eVb3 zf6WHnSQcpru=PLM4}SS-3cvf^oA0#U7q!DKN-Q(tryzX7$dYcGL8tlaLOA#IhpsdgT^Q_+MZJ% zPZwOze4qQe4i#gXgucE+&pf>eHw8T@V2AMe*KPWn_1iv->Dj%GavQ998Zy67ge2Z0 zNkHxY+9IiGpV{`l#M~RJ)!sfmtRqu?!$c#CQW%T)LIw{l;$?ds|C5s4Y$^RQ z8?RO;p>EbZJXpt#C1mYkzQv8aZ_K~~31cuIw}QxhB-=iU9fia3xYmD6JRlL8TNY9d zphN}2**vuSq|BB>u-)-YN=rQVBPCxfw>W)WMmg=_KA(%5=KcL0BjDR)vw_@pk;49w zN^#cxRZqxghM}E>IYPRKFsP@iq7I;;Smd_h?@KiPP{Lw})U}wo(oQTyjPdm#d~BU? z7}NJrLAf`z6PG7XORtIGP36|%<7PL9xQOxEbAIzRc9 zx|u4zam(-m>8~T>_TWS9*ED&FZI9bPy7-vmzo~ReKd(Md6J&PITn!vmPt8U>_S5^u z3vef%?=^P!?s%s@Q6#J;SkmSTyD?TpxT>hA1R2`##OP?LNN;yV&cHcAG>Y+bG!-b- zrR`SF0s0?De-buhDtvp2;9iGwrF4G_XRT^j9v~qDz&&IpfZDTE_*L{@sojzZRuib& z>he}=Fi_sUT>Y8e$_@GY<`D7HiLpB28CZ3TfBGXl)Yk9vjD^GiVfSxDf^!AG(BPaP zmiImVI=YYX=Srjd5g_=2^y|b`t`qQufXp6CTUbxHDJ3`9z+GmKAPA)f3ms>Nipo+m zn5Nz3jSw}aJFcgQ#}aO)Mo_#KyPxm3C6>0ky~J2+FOlg(Kh-0CcayadyAa1i(y^8o ztJwOsw+IuJ3D}W<7F56=VW03?m_evkJR|ZmopkDEQB< zbMhpV5ZL%jq$zNX^4p?XOWHoo<%WA=j0c}uFM3QJDs~?%jk-_tGF03hDCKrpD$+dB zQG<}~229tnKHt5nBa$J%q=<{|^yQqh=LF^&B!62lqdj8Rz53bixRZXm;XqNPtdS?Y zNb~v~XT*Gjc0Pec&Q2)uVE3%V@15PXFG>XOS>c)Th4d zRcddYZ>d6gUaceI;uJ|9Q2f_mJU}mMdEMj&?MmI0UwPYY-ssPk&>F8VRBp7c3+rb$ zdct`>VXoulZ4RGlp~1A(-7R?@ejZ_den7nFlf53i-@_?q1>w_u#*63qQTrdi|frBt5E_ep0?N3$aRJ`0>|e$ ziq_q1!aFzmG88_Gr)KJr8$!33o3r;KCBb=>V3oJkL}nKr21bU6 z&qO!DjcgLKKoXst(fW|`N(K@ml4c31T77W7q&(#n z^NKIMj96-T+G9PGpclSM{w>pj;U70Mlx3HS6Y%ZR6@BlcHIf=fl5aiDhXotU8(u}Q z{a`sZ3Th$2w}yc4QG?9{HsJ;mMkeiCIoQxr_NND9o$W;GvCxixpeNEInC`kM!Q81? z3v7ugY5Q)Q`#47)?w_Cj6XwoyvDHSU_A28=E-t2$OkjR{yFK{spI;v;3RC3*T9T*J zcLg~AIsei{1PM_r%6}KH&Ar9|(Tu;;0{>x$=}9yh*VyUnUUm>8cGG6hzcDi`f_s|u z{WSMxP*DF3G*C>Ca8&tYPkqTI%<~^I68l(jmgumtI|~&1AK;Q_F}1vX+&7kBm;WEk z0$3m&O6dF_VFJT1Vh;&Mn(TG|157k08rAxD6KwxMBnt(Wr)quatN$TD7kX^#5jy535J3B8>Q7{SZvEdS`*X|64dr`wEpkC!%Ekn_kRpohaZ>La|BVP1!vl z`F||`^lfur;_KmF65nuywarS4twWD8q}S~I@wa}Nd{xh!Pw$K+!PtLajW28M)-LSl zUnK-Nf3%kA#p!{~(HN$Nej6-2bY#w1ysVv*7W|;h7j3q)Y^|jQ3DZCGBEACvw?Goa zjm3&#vQr-%v7K2X<($HM0il6sVH`3{J<7b-!s;k);dxfXx)C@)vNv4?9VY$Hoi-OM z<=7`!B6E`uQ?OW#@$^HVdDq_!TSr}Wl-r;Ts~=AmxWFi$4P|am2Uozm-$$QO+yXNU z2A^>tB7F5xNMu=93T%;RGoO?%S-uNp)BHrA0*qpm6iX$xuj0&LDmyWU3(2fu7!9G% z5D-dsYi)dxIsNg0;1DYkDG?ufwwyPpbsAQ9JN+@@1{OV)L1yFkJgj8Jcpp4=^;Ep0 z5+no$$xHTJ6euRf>Idgcu?0;8_67_h$va;-wGK+1hUH8Zenh(rf<>(1T4&~DyG1rw z1!MQ!r)Tj%KuKZ<&ScS`2#l-WdD-In9~XKn5>ehpHXqFn8@U@Gr&^Ok+s{MN8sovD z@$D1c4hy;4)4xIz9JzQJg-Q>p94Fg$!}JiG97j8^BrXl*KzxD-N4f@Kc%;NrPjpRxS>o?Y({`_K~#kMbm#1IBGw5J zVRB3i`$y<$Mk3(@hOO?0Mq81pQoi8PYWk9mU^kQ55+~cWi*cRVNLg}jHWM76lU2R+ z0e1A{#410($5!B&pwK7UgORMp>f3HJRs)`8)&oq4t4Dp&Mu3~i`1g7UJdr(hFE647 z8z@?ubdeQD%%Xp8VAK>q#do$gr-3ZIFeJJgTQa3c6!-b9Gi zcFf>H`J2$DCG?a1KM(A>+~~;n84XzQyQDX*wEU~)w6fri7B;MEi|99K;>DWT^>w~m zWxRvE5>`^6tIrZel0zXDMoX6=-lt(P?>)_FL58@I5R>MEOg0P)i2G=nh=cm>^5;Op zN{e^hVZpmM+`B^ZxMwnVov)}czd-qavN;UWxcMTY`;l#PiS2EsTsVN+^mhdQe$ehu>f*!mR{pB2r& zXid$hyj4o4dxzE8_c^eH^*A&T$$KVpHfDWro9}&^Myt)gK9LnepG!%zWZ>JYIh;$Q z2b8~DC;zhET>dOp!hWevi(ngF@!5_vrIj``KPBoL#K^@YjZW9|spW5=UVDR)f2mn- z#rOJM%kCOC6CRVHXfs^k82~7jLob-U)@Xek8Pb%Do-WpHJ2n>b^>o0pWtv0@CL3bl z7K$8;l$7hq=|i``1_PN_i8^{dOKnF^BF3N9_!&c{cRBLlj=UL6ZVOo4TVqV#<(u!H z8$8=jcVj}qx%TL0>n-jQC!8)2)p@5HqgjC(5~k06TRngy&0~f{e-CbM*n21Dvh(X@ z`z4Y?Sph=K26|SgSuYdS?Hxa-2-stug0#DxE)z~+A9v&Zvw`A~eJ`pQK zr8wiyZBLOCJQt=WeX>z3qy_#x2Wzkp8ISvi6#`$ec$o01TE`N|(=)p@0fT_A6SS|_ zKlzsajj_R_po1&Z7Bhh!*^^+0QM(%73ir3+2oGpJtgmztcoIrLjwp{9VYFx~*k#^M zAHRL*ci+a)|NpVp>B3mM^^t4**&cyBfD@4ksh(NdsBzYCy3nbn$4q3oHXdtFDU$*` znG!soz*zrH8hxhBkDS_ z9FTfCY2H^$lU79mUNWnC3#NDJBe=N0y+H6^y3dGQ)`DGOYY9}Sf>zXrE{o8OL0-ZcB{D1!{0&)OiUak>>llN&)o;6S~YS4H}#aS|<>c6Sm$@nE*hK$N{A4+y-xQWvte!>k$YE&4z%onjg#F6Y{ zl^OaVZZeea((PDMFw!4}q$_VSjE4Rfw$EDibizY};wC5QE@GOO6xLTlU8bd)9X!0c ztmKNY4IF5sm*Iwn4U5%&La|y!2p*lYparc{&|^hLiNS`hfk`ciJE|+FZZptqx^aUe z5N3neYjERnH#cDtzp$1;e;BtOa^GDd!H2+)5#N@y@U>o}bPuQW@W1iKE@r$U*+=}c z=dSh!tr}L`krLFU%d;2A@mG-O)T6vJ%}tCb7~kR$C&Zr>wPp6M3l*{oKbC)NTdPTw z9|s$MsG6Shuir?_8|zxlw7d>jiEIr$XTVV>ZEdRg5+@X{BldNMiHFe#pV<_M@3&Xa9*mn!%jZaWpBCL0*L3Qzs6eDmJVb4I_12rxVPwg;4Q zR&;;E>sRmiyLA)utv#F&D(KBy`(|Ihkz-~8Ct z;os@#@%i=3%-?Lr3VNTc1?q1vBp0qG(B;s8b`zMUx?*k(s~cQ<0Q_M^aN7%>(p1nY zHWELB>uSJv_w?R{=wTYvY7uNHDmE=H!Lt*n-3u8P zjsr8^517I*MECyq9Hq4anu5f;H5Q;(;aERQ3g&2hQR0Zzv$_9bgf`0M2hlS3(fL%?-#?rF2tr9X>e+HK$UWr%0l zrnP|KA=KK@@uJg478k8J`R}Wv!fD@@>+Ox==-V{$L0-0SA;e-La@Y4hUk?NA^ck2b zU@Ol1oqNCyBr+oW>SFDAlbbW|_I&H+XaCW~UOUT1@_07TLavEbrsjvKm1suY;liY~ zQo5#Ju4dNG4+J$TV&9j7U2S^fg}e9~?~!Ft8|xr!GXhMUMz7O}V}9o_!Jd@N#r^zD zrq{0Lb6)kZ-cnz?$<#A=rUq5(6LB&}xnuDk|7|ieqJOB!dY!4*lt%c2+}!4{u;{Vo zx%s=nMa51ucw^l1Gzx;cE5hQK`fQR07ey-S%ldNEf6M32%yPY|} zm>oUz_*?eia7FUl3@Y`(L)7FIRml z`M$=koHjR`Jwxu9z)yve^JYc=-lC#?)^63FDRFz1%pf==V0fGmK1#CvHNkmyMS6yX zMzaj^-yC)-A7pw1biZ^`YpHWg>mj8#UOy#Qa8VOixY`KualiHfQ`TIf`M!q#OH|tw zsvq->ZJ0JX$7=QIUXA@mn0pauU`?3JfARPOcKXjIm2_hmM0h|gyVg&IAL@Q?ovzU# z)>B|_lwggJ?H%BjOp4mppj|!EgWa)6qIx5dh-TIXP4ZYs$oS2A*N;;x;nTxj#6k8Z z_4V`~>Cdc#z}H)yG+o3tM`nNL0<&k_aU_*0`2B8JuHN0|%ABv>%lGV!hAiHjk=!}` zO>Y&!Gjb1ZlV#63`p%g$29@)0Tp&g{m*8HI>6cm7z360AA^dteSe9Sl-`2fu!t3@Y zO>9hu*?w5cU%ShBs6>(Cn%ox!n?-t9c0#RJfAidMC_-Fv_pM!LqTka+GpD1CU=75_ z^RR&tHvh8dUxdKw{Pr*LdB`c*VO=LFh_{5*j~!Jh-J^gq8Atzv{LcLnDT$(+Ue~84 z<~pZsGl4TYj^QKGo3gP`vX)i7E?CMviw*2Pzko~BBSwBRnpQ^ddHCH?H7?7LZPZf(PK*7-hSKsFV6=yYb;|)$qd#HpbOwmOmwLV?S2g z%n>~4CA{5s6Qse7&`9#0pw<%eZ2N)}Vd|9caZ24#bYqvzj8Gi(rl>>X>-RT5gG$N- z$q_#_N`waK#MU#CLIRw6nd-uW4_u;-f7pJe9mBecZMtL&*HE<)T+Fu~$9reu9$>-C zka0`ls540gT2E|(Gc-O}THB$D*aDgKc-+Q)@j_P3PI3g2 zd(i-=HSE3VSY?M*CZ|G5Cut-U5re?+1nJB(sp?Ba4MeI<0yH87sk!5nz!$-Im3^wXFi%OP z?Rs1qa4PRAT+2GqavL|JssV-b`oN!hYT3YamLfhiTR`wNv81k+18={VW=(X=%|(Q9 zJ4O5uR&HE7ubWrA@srDt|lEV>A>A}y;SX-*mf^;0xC zK-QP~fCyshNHOv8K7?9TuRSrAL(}q-^W_Z0C#+!e57XK?S$st5JD%b3=9zI z$SYzY)w}bCZs7q@)P|&s+5=?Jez3}1z^ceH=^Rc-4r3I>@@-D3q3KPUg;zlRoC~zK zJlCv)P*4LMaXp0%C$G*h5%cbLRk*}ZWh%F7y}M5yRs&r%4t9xrya#Oj)T@AD{JH%w z^Cd57(_-#qfwRST>}Jz`I=J&FY0C-V_VW5`zS0X{CUffxMh^Traa2OlW;ZcW!}RK~ zLDukj&lc;E8%vu*c!Vn3BM(rKgjtXH5~>0nL1aKQr!#{XG{&D*#`utPyyaSX&X+r0 z-H^T#6-`Z)7?mH79TwPb77^Lik>dqK4?u7$bQ1bz3l?n;jT*~;tE}7U;+cx(Psv8q z8~1d{gYf~FkCDXaq%%-@R2cA4o)$z=)MksbEf$`%;&0S<*3hNA8 zn}psZA+ZqJ&mNu)c_~NOb72QJ+Ngvd1+E+J#BNyvE2=J#RaoG0$rg5)O1Vu##-a#P zad0juXaZ*>!2@py$r5`dobPhYy3qI&sD5ukh_E@>^J|LbLbgp%lfWeWD3A@vV< zdiqDGs856_klhOPd1pf4D}R6bfF8#nJ2vJLLs7flF!}+*rwhuLnNx__$dTpYO*byJ z!sdS5P-`Rw?!W_Zx`hwpkY=A(cISFXdwS~&j4GkeJ;!#`X$ms}$rM)RqxDs%e(O!I z^tT-AkOlHD>V{d)muh08IO0?j^%WL7HJ3KWYA-eL374HUjZb2TLEv41*dqLzQ4FyK z$o`CJZX(T^npv~K{TkMI#3RS)C$Kc~wV_5v(Yw_}q*lm=<3N_bZJd*rq~}YLk>mSY zl~hf?WG=)+l%0a?X|iLPycq!mz4v5#tPl~e5PVR#k&-1_u1?{usu4reo@So!L2rIF zyfb`v=X+ztasoF}sk+QFVr3@K_)q^mjtL@)VDWmikE}!Qwvxjo(gSwjkfwkYD-I0~ z*(m+bFXcEuGg?&>c}!UvoqMu;fqrYR;uW72KL9jOAOgN)!u2a#4Wj-sBinjd=FNsM zJ$0(4vH{PYL4`X@`@VRAIG(#h0pfu==Z-dw*nJB%*$yL_OY_Y65k%x2;<`o!;`Dd& zm)*o9Dg~uSmMe}ebs84BErjihKdvQpi?<|I#4z`O7opJOZ1mL-WM10c1687BcoxhB*7;i2Z6w2rEEHL6cUFh`lUU_@AUPdy~1CRB1+#~_QC*wXSb-zkEw^rZf+-KaS5dJ>^~FUF7d#Gf4yDb zN10o#SrNU^69BDbCnVnnwDHk^68h32XbA#a8mpXSd_SvmLCqkpWAO#Bpr!cA(1aU- zk(JU-3T@T&ZnbzU>V##!O&EC*TzMzCl+(y(l2&Y~XuRP3Fz*Q3nz2e`I(_ibRdpKI zM#%)NLsFG*?!yK<$Y-4;Uv+EeF$X1!Q|Vi-;}yR_N7{5xSa9$;Tp~|VsaiQeHTLh>cn~Q>$i*9_c=_=@+38wq8}f$C9mq(wWD!?E95}HO$IL7 zno%c?ppB38h(eXXu|THlr~orLLp0}lgVS1c{Y8s;dx<2ItuAHp zypJ(8)J@>cxKD6qRBD^-Mj!K z&qyRhL$xZFF`orB#X*5D4Jn;#ghlZ;W40#8mfH`<5wqa^HF+mP8P0k93XJmxZKMjm z$L47gp<$;P6@^I!^?H>`fVpp5E&T=gsz?kPEs%ZXIdcGzlvkyk%xd99?}>MXlQNVDRoFo|gJe)oHY4)j*E8&v`% zp4Sq3#TkeW@Y#$(KpR3tLDVn`#l7PTX;TTe`%rG<{fXOUhhz-f|-=Oet&+=-W^n^61FnuAizM1*n0+Vm%cvO6(cn zp7)tE)jXkcf$?4-?9;bJh8OEd%1=(*DIXEg^JoWhH226`v=3eIJ}M=x2df0Bnu%9L zYiM-OlCdEt8_>OMz1J#@*7rtn!T4%%qJ?-?Uj(tzmU-^C(?)&VdY@50%Q<5D%d&q7 zg{EqHn>D}1Asb>O&g54IiSH+wtWM}@~S84N6Q#ozGwzJy02s1TvEYANBtSQn1uFOXrV2_oOK6(Y_# ze-KKw|Fd?qDyhG(fqi8yHq0zxND6U-t9zTW;cj~P%Ad0=bU!}oa9S#PC>ZIaflkq$ z_eDM7dx62ZjcH9;_h%}v+W0S)7a*0T#y3!o95rcZH4C0k-KZb-$IQFaL0E#e(9`ne z7Wc195k<{;udP2RRb(fi>z=(mb@@y!1#NqtfB_blMrK(11Dmj-6=b4<0(?IV-;aTJ zr+4?QW>sWm+1A}iRw3Ms!Q|2yWr3y9xvEfe#^4W(N(^Tsio!em`cQ~{b@Rx2PW?~H z9#M7G`~vojO|d^S11vle!pIr6_8DPt^Y%33Z=S8^Ke$-D_IJPeqECe9!~~9I$*#VSdRXue9RkB5xPq@g2@QL5b%hn-(}PR5 z^Wek`{Rc`dFn)CP&8*gr&mRVisEn-OjM(XZa6g#z;Y(Zl;(eWg^HC-)%^ctQD4V`P zlW4&Y-?85OBx&wR*p1){fC{Cn<*pEyx?*ttdFz4;DSYQ%3uySX|! z%BUOy)sVq>!NGlvDfX`P1d*QRNx{-qKjrx1(D4*rB;w`4S=!%z;>)wZKJzd(Bh9zi z&eO`lLwCu_ER&0hd!t_42rJ5`)JQwU5f!lwL&aFA-@c} zSdJo$Y`V4d{QeQdL=u$B{C(0e2-cdj9)3B-z87YG}D7g2uv^vbBN#x4-aCHrigGKqY>l?T?B=2 zVl9M!p@I(JZ<(uv`J@=h2BSiif2~ee>VN6Wkx7R+UjvLLaalk}x*9+6(G%g@ zItMxAX=E8-=@j_L6mqpe5lFxM*TXwGT$#R@c1Cn_q;GhE(7Wki-!TDw9d-iDs`Od^ z2<5aBDYjW#u#i6 zGWC&bg4F?5Z$Otqw)}Jl)a#1kY+aWcS1YZ@9Aq7n{I-QaH?}3rQA7=xIk-`xcs`4j za-f8lbvO&enUW``ZMdA4^)yS@vB4wLECCqb=nD}B5h zZ~#?-W2OPO-1Lr1ubAOYnLcVw@H-k`i-uxUp;bYT`$c#@IB$RY&=|!oe4WWB;>4B$O!R!un*zK2*_?f)kfykmXAdJPV~-h`Hg1&J#G3ug@(f&AAshR09OJCw=1Nk$j}1 z4&Bj52r*KJ?S0Q3%)!M}r{>MFDqK(NipVDA*GzObNIp*q4d*Aj9e4v}XD6szpua<4 zxRrba7ChAuy2y=CfmmIyE^OF0F=JSwPJdWHn+}MoRE9HpUYpny2=?eU5whg-?CbE` zy;yAijl!;YZ;_4IJ9z)DfL?6~_XlIn7iQ5Jft61HCbS|vAcCQ! zU%C+f9mX=R@oS>gE#>>k;09hCY?3=B_N4MZSS=Ld@HxT8^N?@1>8SUfnyv1q-D8_= z%%6a^b+%z=f_mRN|Lsu&);RtR zzx&dCZ)n-4Qn~+H{ANs-7$VvuMGs+Oe%m8DGo;?!^_?f>{|RUYm-!5aNlt<8S!7!J z(UQS}!Y~rP!Rdjb&{`PAJY*+cxLA;MImRho-%KPtLGlolStyJw4-!*IN;R>QY(r=T zB*q(-C5F*M5${>BUNDRXoD_?AHDJA97}Z3Ih0-Nwdi}Cq6dR|<*G=bRG7GYuO5_;p z1;hBrxgZj5Lntmg)(eI)iP3u&%2zJy1;ZF4PArPC(x4YC8KsA(Ku+Q_i+YIFgj)H4 zrDzads@y!olm?^Q5E8ItFpAJIk0{Sg3t~Yc#Bc!?#zlDGY>+@KDspH@4^c+v;Ii1l zFpRBjh^7U|OPg^3XXj`#v2dz;tQSlxJS*~(G_$D3T3O7s4j#`8h6#{=QP|mr7yv@U zl2J@(jB5#JS7Nbf+~!np+^S;;IJj1v%_rD?>%@dbyH!KzV0 zc+i!QF0-fyU1jji4{b-xH7Nk`$;RaV7*|9jN|h=lUV5d9xCev!_XvaX2E*F z7>3NWDDC_tdV`bof>8obB!%P<3!TXYz{AXx2d%SRRpUf63xxH8DGu(>=6qtIIk^C! zU6u?c+a%C2bILp$b7vO%^#UmK2r)NVsqFBqnQ{qqwbMRmN z$P^de`Q&|XI$l&Xuwh}3IC7H}pWU?c9Vdy3n`|DP7Dvg@@mnN&n~_)Q{)MNoebr(C z7}pCBi|^IM!kj+Ep?e0j!?Ric*Te;PY`y==b)u339i574Gpk7pu0{}fr4CmmY8%(E z4KaB0A^_MkZL$SRK6p0k|Foc^VNK3zi$U4ZbI-z_UI1Vci%F~)t>c-k|I>naauSqX>!el_it^Q9hnk>XOo7J#2hf6~vvoH~q zhF$kp;kwJ7Z!cE%{6CGf^$btxz_n<#!`Ygn^oYl7es4x{H_bdX` z^rAkxzC)%BB0h}=#vqQyTa(*Cu`m=JFvBTEJR&UKLoH$k&}SsRWg{IlL}Xta?P#0K z!dy>SFQO0u@g7XY#?dj*hJW+h%B*7J!{m0jtH7j7BfSQR9SBblbGiC)-5!+4X=V5(~gu zKf!Q&$?%C z1D4}W*y}!%hQ>Ih5DUQm_<{#P$pG*~^Et}|T@sb1b9OLbU$+T;?dNJa@?ryF*G)RH z07oM@A10C=MLoKb=fh>PFseGBV+;+AeUcMJC%>7US$yrfL3I{n_7{%MvHs$w7;Y!a56CtP^XG9?-E(b=L+F4N8za3LB~5f{y(?F VtDby2O6&jt002ovPDHLkV1l4XmfHXT diff --git a/widgets/button.cpp b/widgets/button.cpp index 25850ca..a939936 100644 --- a/widgets/button.cpp +++ b/widgets/button.cpp @@ -11,7 +11,7 @@ void c_button::pre_create_wnd() { - m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS | ALIGN_HCENTER | ALIGN_VCENTER; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); m_font_type = c_theme::get_font(FONT_DEFAULT); m_font_color = c_theme::get_color(COLOR_WND_FONT); } @@ -63,43 +63,29 @@ void c_button::on_paint() switch(m_status) { case STATUS_NORMAL: - if (m_bitmap_normal) + m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); + if (m_str) { - c_bitmap::draw_bitmap_in_rect(m_surface, m_z_order, m_bitmap_normal, rect, m_style); - } - else - { - m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); + c_word::draw_string_in_rect(m_surface, m_z_order, m_str, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_NORMAL), ALIGN_HCENTER | ALIGN_VCENTER); } break; case STATUS_FOCUSED: - if (m_bitmap_focus) + m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); + if (m_str) { - c_bitmap::draw_bitmap_in_rect(m_surface, m_z_order, m_bitmap_focus, rect, m_style); - } - else - { - m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); + c_word::draw_string_in_rect(m_surface, m_z_order, m_str, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_FOCUS), ALIGN_HCENTER | ALIGN_VCENTER); } break; case STATUS_PUSHED: - if (m_bitmap_pushed) + m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_PUSHED), m_z_order); + m_surface->draw_rect(rect, c_theme::get_color(COLOR_WND_BORDER), 2, m_z_order); + if (m_str) { - c_bitmap::draw_bitmap_in_rect(m_surface, m_z_order, m_bitmap_pushed, rect, m_style); - } - else - { - m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_PUSHED), m_z_order); - m_surface->draw_rect(rect, c_theme::get_color(COLOR_WND_BORDER), 2, m_z_order); + c_word::draw_string_in_rect(m_surface, m_z_order, m_str, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_PUSHED), ALIGN_HCENTER | ALIGN_VCENTER); } break; default: - ASSERT(FALSE); + ASSERT(false); break; } - - if (m_str) - { - c_word::draw_string_in_rect(m_surface, m_z_order, m_str, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); - } } diff --git a/widgets/dialog.cpp b/widgets/dialog.cpp index 900e37f..49a4882 100644 --- a/widgets/dialog.cpp +++ b/widgets/dialog.cpp @@ -12,7 +12,7 @@ DIALOG_ARRAY c_dialog::ms_the_dialogs[SURFACE_CNT_MAX]; void c_dialog::pre_create_wnd() { - m_style = 0;// no focus/visible + m_attr = WND_ATTRIBUTION(0);// no focus/visible m_z_order = Z_ORDER_LEVEL_1; m_bg_color = GL_RGB(33, 42, 53); } @@ -38,14 +38,14 @@ c_dialog* c_dialog::get_the_dialog(c_surface* surface) return ms_the_dialogs[i].dialog; } } - return NULL; + return 0; } int c_dialog::open_dialog(c_dialog* p_dlg, bool modal_mode) { - if (NULL == p_dlg) + if (0 == p_dlg) { - ASSERT(FALSE); + ASSERT(false); return 0; } c_dialog* cur_dlg = get_the_dialog(p_dlg->get_surface()); @@ -56,14 +56,14 @@ int c_dialog::open_dialog(c_dialog* p_dlg, bool modal_mode) if(cur_dlg) { - cur_dlg->set_style(0); + cur_dlg->set_attr(WND_ATTRIBUTION(0)); } c_rect rc; p_dlg->get_screen_rect(rc); p_dlg->get_surface()->set_frame_layer(rc, Z_ORDER_LEVEL_1); - p_dlg->set_style(modal_mode ? (GL_ATTR_VISIBLE | GL_ATTR_FOCUS | GL_ATTR_MODAL) : (GL_ATTR_VISIBLE | GL_ATTR_FOCUS)); + p_dlg->set_attr(modal_mode ? (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS | ATTR_MODAL) : (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS)); p_dlg->show_window(); p_dlg->set_me_the_dialog(); return 1; @@ -73,13 +73,13 @@ int c_dialog::close_dialog(c_surface* surface) { c_dialog* dlg = get_the_dialog(surface); - if (NULL == dlg) + if (0 == dlg) { return 0; } c_rect rc; - dlg->set_style(0); + dlg->set_attr(WND_ATTRIBUTION(0)); surface->set_frame_layer(rc, dlg->m_z_order); //clear the dialog @@ -87,11 +87,11 @@ int c_dialog::close_dialog(c_surface* surface) { if(ms_the_dialogs[i].surface == surface) { - ms_the_dialogs[i].dialog = NULL; + ms_the_dialogs[i].dialog = 0; return 1; } } - ASSERT(FALSE); + ASSERT(false); return -1; } @@ -109,7 +109,7 @@ int c_dialog::set_me_the_dialog() for(int i = 0; i < SURFACE_CNT_MAX; i++) { - if(ms_the_dialogs[i].surface == NULL) + if(ms_the_dialogs[i].surface == 0) { ms_the_dialogs[i].dialog = this; if(this) @@ -119,6 +119,6 @@ int c_dialog::set_me_the_dialog() return 1; } } - ASSERT(FALSE); + ASSERT(false); return -2; } diff --git a/widgets/edit.cpp b/widgets/edit.cpp index bb0b0a5..f4c705b 100644 --- a/widgets/edit.cpp +++ b/widgets/edit.cpp @@ -23,7 +23,7 @@ static c_keyboard s_keyboard; void c_edit::pre_create_wnd() { - m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS | ALIGN_HCENTER | ALIGN_VCENTER; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); m_kb_style = STYLE_ALL_BOARD; m_font_type = c_theme::get_font(FONT_DEFAULT); m_font_color = c_theme::get_color(COLOR_WND_FONT); @@ -35,7 +35,7 @@ void c_edit::pre_create_wnd() void c_edit::set_text(const char* str) { - if (str != NULL && strlen(str) < sizeof(m_str)) + if (str != 0 && strlen(str) < sizeof(m_str)) { strcpy(m_str, str); } @@ -124,9 +124,10 @@ void c_edit::on_paint() s_keyboard.disconnect(); m_surface->set_frame_layer(empty_rect, s_keyboard.get_z_order()); m_z_order = m_parent->get_z_order(); - m_style &= ~GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); + c_word::draw_string_in_rect(m_surface, m_parent->get_z_order(), m_str, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_NORMAL), ALIGN_HCENTER | ALIGN_VCENTER); break; case STATUS_FOCUSED: if (m_z_order > m_parent->get_z_order()) @@ -134,32 +135,25 @@ void c_edit::on_paint() s_keyboard.disconnect(); m_surface->set_frame_layer(empty_rect, s_keyboard.get_z_order()); m_z_order = m_parent->get_z_order(); - m_style &= ~GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); + c_word::draw_string_in_rect(m_surface, m_parent->get_z_order(), m_str, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_FOCUS), ALIGN_HCENTER | ALIGN_VCENTER); break; case STATUS_PUSHED: if (m_z_order == m_parent->get_z_order()) { m_z_order++; - m_style |= GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS | ATTR_MODAL); show_keyboard(); } m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_PUSHED), m_parent->get_z_order()); m_surface->draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_BORDER), m_parent->get_z_order(), 2); + strlen(m_str_input) ? c_word::draw_string_in_rect(m_surface, m_parent->get_z_order(), m_str_input, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_PUSHED), ALIGN_HCENTER | ALIGN_VCENTER) : + c_word::draw_string_in_rect(m_surface, m_parent->get_z_order(), m_str, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_PUSHED), ALIGN_HCENTER | ALIGN_VCENTER); break; default: - ASSERT(FALSE); - break; - } - - if (strlen(m_str_input)) - { - c_word::draw_string_in_rect(m_surface, m_parent->get_z_order(), m_str_input, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); - } - else - { - c_word::draw_string_in_rect(m_surface, m_parent->get_z_order(), m_str, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + ASSERT(false); } } @@ -195,7 +189,7 @@ void c_edit::on_key_board_click(unsigned int ctrl_id, long param) on_paint(); break; default: - ASSERT(FALSE); + ASSERT(false); break; } } diff --git a/widgets/gesture.cpp b/widgets/gesture.cpp index 96ad2c4..691f1d8 100644 --- a/widgets/gesture.cpp +++ b/widgets/gesture.cpp @@ -37,7 +37,7 @@ c_gesture::c_gesture(c_wnd* root, c_slide_group* group, c_fifo* hid_fifo) m_down_x = m_down_y = m_move_x = m_move_y = 0; unsigned long pid; - create_thread(&pid, NULL, task_handle_msg, this); + create_thread(&pid, 0, task_handle_msg, this); } bool c_gesture::handle_flip(MSG_INFO &msg) @@ -75,7 +75,7 @@ bool c_gesture::handle_flip(MSG_INFO &msg) bool c_gesture::on_move(int x) { - if (m_slide_group == NULL) + if (m_slide_group == 0) { return true; } @@ -99,7 +99,7 @@ bool c_gesture::on_move(int x) bool c_gesture::on_flip(int x) { - if (m_slide_group == NULL) + if (m_slide_group == 0) { return true; } @@ -132,14 +132,14 @@ bool c_gesture::on_flip(int x) int c_gesture::flip_left() { - if (m_slide_group == NULL) + if (m_slide_group == 0) { return -1; } int index = m_slide_group->get_active_slide_index(); if((index + 1) >= MAX_PAGES || - m_slide_group->get_slide(index + 1) == NULL || - m_slide_group->get_slide(index) == NULL) + m_slide_group->get_slide(index + 1) == 0 || + m_slide_group->get_slide(index) == 0) { return -2; } @@ -167,14 +167,14 @@ int c_gesture::flip_left() int c_gesture::flip_right() { - if (m_slide_group == NULL) + if (m_slide_group == 0) { return -1; } int index = m_slide_group->get_active_slide_index(); if(index <= 0 || - m_slide_group->get_slide(index - 1) == NULL || - m_slide_group->get_slide(index) == NULL) + m_slide_group->get_slide(index - 1) == 0 || + m_slide_group->get_slide(index) == 0) { return -2; } @@ -204,8 +204,8 @@ void c_gesture::move_left() { int index = m_slide_group->get_active_slide_index(); if((index + 1) >= MAX_PAGES || - m_slide_group->get_slide(index + 1) == NULL || - m_slide_group->get_slide(index) == NULL) + m_slide_group->get_slide(index + 1) == 0 || + m_slide_group->get_slide(index) == 0) { return; } @@ -223,8 +223,8 @@ void c_gesture::move_right() { int index = m_slide_group->get_active_slide_index(); if(index <= 0 || - m_slide_group->get_slide(index - 1) == NULL || - m_slide_group->get_slide(index) == NULL) + m_slide_group->get_slide(index - 1) == 0 || + m_slide_group->get_slide(index) == 0) { return; } diff --git a/widgets/keyboard.cpp b/widgets/keyboard.cpp index 974a26e..dcacc18 100644 --- a/widgets/keyboard.cpp +++ b/widgets/keyboard.cpp @@ -12,7 +12,7 @@ //Changing key width/height will change the width/height of keyboard #define KEY_WIDTH 65 -#define KEY_HEIGHT 38 +#define KEY_HEIGHT 38 #define KEYBOARD_WIDTH ((KEY_WIDTH + 2) * 10) #define KEYBOARD_HEIGHT ((KEY_HEIGHT + 2) * 4) @@ -75,7 +75,7 @@ WND_TREE g_key_board_children[] = {&s_button_space, ' ', 0, ((KEY_WIDTH / 2) + POS_X(3)), POS_Y(3), SPACE_WIDTH, KEY_HEIGHT}, {&s_button_dot, '.', 0, ((KEY_WIDTH / 2) + POS_X(6)), POS_Y(3), DOT_WIDTH, KEY_HEIGHT}, {&s_button_enter, '\n', 0, POS_X(8), POS_Y(3), ENTER_WIDTH, KEY_HEIGHT}, - {NULL,0,0,0,0,0,0} + {0,0,0,0,0,0,0} }; WND_TREE g_number_board_children[] = @@ -97,7 +97,7 @@ WND_TREE g_number_board_children[] = {&s_button_esc, 0x1B, 0, POS_X(0), POS_Y(3), KEY_WIDTH, KEY_HEIGHT}, {&s_button_0, '0', 0, POS_X(1), POS_Y(3), KEY_WIDTH, KEY_HEIGHT}, {&s_button_dot, '.', 0, POS_X(2), POS_Y(3), KEY_WIDTH, KEY_HEIGHT}, - {NULL,0,0,0,0,0,0} + {0,0,0,0,0,0,0} }; GL_BEGIN_MESSAGE_MAP(c_keyboard) @@ -154,22 +154,22 @@ int c_keyboard::connect(c_wnd *user, unsigned short resource_id, KEYBOARD_STYLE {//Place keyboard at the bottom of user's parent window. c_rect user_parent_rect; user->get_parent()->get_wnd_rect(user_parent_rect); - return c_wnd::connect(user, resource_id, NULL, (0 - user_rect.m_left), (user_parent_rect.Height() - user_rect.m_top - KEYBOARD_HEIGHT), KEYBOARD_WIDTH, KEYBOARD_HEIGHT, g_key_board_children); + return c_wnd::connect(user, resource_id, 0, (0 - user_rect.m_left), (user_parent_rect.Height() - user_rect.m_top - KEYBOARD_HEIGHT), KEYBOARD_WIDTH, KEYBOARD_HEIGHT, g_key_board_children); } else if(style == STYLE_NUM_BOARD) {//Place keyboard below the user window. - return c_wnd::connect(user, resource_id, NULL, 0, user_rect.Height(), NUM_BOARD_WIDTH, NUM_BOARD_HEIGHT, g_number_board_children); + return c_wnd::connect(user, resource_id, 0, 0, user_rect.Height(), NUM_BOARD_WIDTH, NUM_BOARD_HEIGHT, g_number_board_children); } else { - ASSERT(FALSE); + ASSERT(false); } return -1; } void c_keyboard::pre_create_wnd() { - m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); m_cap_status = STATUS_UPPERCASE; memset(m_str, 0, sizeof(m_str)); m_str_len = 0; @@ -222,7 +222,7 @@ void c_keyboard::on_char_clicked(unsigned int ctrl_id) } goto InputChar; } - ASSERT(FALSE); + ASSERT(false); InputChar: m_str[m_str_len++] = ctrl_id; notify_parent(KEYBORAD_CLICK, get_id(), CLICK_CHAR); @@ -252,37 +252,37 @@ void c_keyboard_button::on_paint() m_surface->draw_rect(rect, c_theme::get_color(COLOR_WND_BORDER), 2, m_z_order); break; default: - ASSERT(FALSE); + ASSERT(false); break; } if (m_resource_id == 0x14) { - return c_word::draw_string_in_rect(m_surface, m_z_order, "Caps", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + return c_word::draw_string_in_rect(m_surface, m_z_order, "Caps", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } else if (m_resource_id == 0x1B) { - return c_word::draw_string_in_rect(m_surface, m_z_order, "Esc", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + return c_word::draw_string_in_rect(m_surface, m_z_order, "Esc", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } else if (m_resource_id == ' ') { - return c_word::draw_string_in_rect(m_surface, m_z_order, "Space", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + return c_word::draw_string_in_rect(m_surface, m_z_order, "Space", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } else if (m_resource_id == '\n') { - return c_word::draw_string_in_rect(m_surface, m_z_order, "Enter", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + return c_word::draw_string_in_rect(m_surface, m_z_order, "Enter", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } else if (m_resource_id == '.') { - return c_word::draw_string_in_rect(m_surface, m_z_order, ".", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + return c_word::draw_string_in_rect(m_surface, m_z_order, ".", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } else if (m_resource_id == 0x7F) { - return c_word::draw_string_in_rect(m_surface, m_z_order, "Back", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + return c_word::draw_string_in_rect(m_surface, m_z_order, "Back", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } else if (m_resource_id == 0x90) { - return c_word::draw_string_in_rect(m_surface, m_z_order, "?123", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + return c_word::draw_string_in_rect(m_surface, m_z_order, "?123", rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } char letter[] = { 0, 0 }; @@ -294,5 +294,5 @@ void c_keyboard_button::on_paint() { letter[0] = m_resource_id; } - c_word::draw_string_in_rect(m_surface, m_z_order, letter, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + c_word::draw_string_in_rect(m_surface, m_z_order, letter, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_attr); } \ No newline at end of file diff --git a/widgets/label.cpp b/widgets/label.cpp index 6d16f7a..0b56a23 100644 --- a/widgets/label.cpp +++ b/widgets/label.cpp @@ -11,9 +11,8 @@ void c_label::pre_create_wnd() { - m_style = GL_ATTR_VISIBLE | ALIGN_LEFT | ALIGN_VCENTER; - m_font_color = GL_RGB(255,255,255); - + m_attr = ATTR_VISIBLE; + m_font_color = c_theme::get_color(COLOR_WND_FONT); m_font_type = c_theme::get_font(FONT_DEFAULT); } @@ -25,6 +24,6 @@ void c_label::on_paint() if (m_str) { m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, m_parent->get_bg_color(), m_z_order); - c_word::draw_string_in_rect(m_surface, m_z_order, m_str, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + c_word::draw_string_in_rect(m_surface, m_z_order, m_str, rect, m_font_type, m_font_color, m_parent->get_bg_color(), ALIGN_LEFT | ALIGN_VCENTER); } } diff --git a/widgets/list_box.cpp b/widgets/list_box.cpp index f196392..38241ca 100644 --- a/widgets/list_box.cpp +++ b/widgets/list_box.cpp @@ -16,7 +16,7 @@ void c_list_box::pre_create_wnd() { - m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS | ALIGN_HCENTER | ALIGN_VCENTER; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); memset(m_item_array, 0, sizeof(m_item_array)); m_item_total = 0; m_selected_item = 0; @@ -48,18 +48,20 @@ void c_list_box::on_paint() { m_surface->set_frame_layer(empty_rect, m_z_order); m_z_order = m_parent->get_z_order(); - m_style &= ~GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); + c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[m_selected_item], rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_NORMAL), ALIGN_HCENTER | ALIGN_VCENTER); break; case STATUS_FOCUSED: if (m_z_order > m_parent->get_z_order()) { m_surface->set_frame_layer(empty_rect, m_z_order); m_z_order = m_parent->get_z_order(); - m_style &= ~GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); + c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[m_selected_item], rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_FOCUS), ALIGN_HCENTER | ALIGN_VCENTER); break; case STATUS_PUSHED: m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_PUSHED), m_z_order); @@ -73,20 +75,12 @@ void c_list_box::on_paint() m_z_order++; } m_surface->set_frame_layer(m_list_screen_rect, m_z_order); - m_style |= GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS | ATTR_MODAL); show_list(); - return; } break; default: - ASSERT(FALSE); - break; - } - c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[m_selected_item], rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), ALIGN_HCENTER | ALIGN_VCENTER); - - if (m_item_total) - { - c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[m_selected_item], rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); + ASSERT(false); } } @@ -161,7 +155,6 @@ void c_list_box::update_list_size() void c_list_box::show_list() { - m_surface->fill_rect(m_list_screen_rect, GL_RGB(17, 17, 17), m_z_order); //draw all items c_rect tmp_rect; for (int i = 0; i < m_item_total; i++) @@ -170,24 +163,25 @@ void c_list_box::show_list() tmp_rect.m_right = m_list_screen_rect.m_right; tmp_rect.m_top = m_list_screen_rect.m_top + i * ITEM_HEIGHT; tmp_rect.m_bottom = tmp_rect.m_top + ITEM_HEIGHT; - c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[i], tmp_rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), ALIGN_HCENTER | ALIGN_VCENTER); - m_surface->draw_hline(tmp_rect.m_left, tmp_rect.m_right, tmp_rect.m_bottom, GL_RGB(99, 108, 124), m_z_order); - } - //draw selected item - tmp_rect.m_left = m_list_screen_rect.m_left; - tmp_rect.m_right = m_list_screen_rect.m_right; - tmp_rect.m_top = m_list_screen_rect.m_top + m_selected_item * ITEM_HEIGHT; - tmp_rect.m_bottom = tmp_rect.m_top + ITEM_HEIGHT; - m_surface->fill_rect(tmp_rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); - c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[m_selected_item], tmp_rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), ALIGN_HCENTER | ALIGN_VCENTER); + if (m_selected_item == i) + { + m_surface->fill_rect(tmp_rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); + c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[i], tmp_rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_FOCUS), ALIGN_HCENTER | ALIGN_VCENTER); + } + else + { + m_surface->fill_rect(tmp_rect, GL_RGB(17, 17, 17), m_z_order); + c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[i], tmp_rect, m_font_type, m_font_color, GL_RGB(17, 17, 17), ALIGN_HCENTER | ALIGN_VCENTER); + } + } } int c_list_box::add_item(char* str) { if (m_item_total >= MAX_ITEM_NUM) { - ASSERT(FALSE); + ASSERT(false); return -1; } m_item_array[m_item_total++] = str; @@ -206,7 +200,7 @@ void c_list_box::select_item(short index) { if (index < 0 || index >= m_item_total) { - ASSERT(FALSE); + ASSERT(false); } m_selected_item = index; } diff --git a/widgets/slide_group.cpp b/widgets/slide_group.cpp index 7700f38..8002a56 100644 --- a/widgets/slide_group.cpp +++ b/widgets/slide_group.cpp @@ -12,7 +12,7 @@ c_slide_group::c_slide_group() { for(int i = 0; i < MAX_PAGES; i++) { - m_slides[i] = NULL; + m_slides[i] = 0; } m_active_slide_index = 0; } @@ -31,7 +31,7 @@ int c_slide_group::set_active_slide(int index, bool is_redraw) for(int i = 0; i < MAX_PAGES; i++) { - if(m_slides[i] == NULL) + if(m_slides[i] == 0) { continue; } @@ -57,7 +57,7 @@ int c_slide_group::set_active_slide(int index, bool is_redraw) int c_slide_group::add_slide(c_wnd* slide, unsigned short resource_id, short x, short y, short width, short height, WND_TREE* p_child_tree, Z_ORDER_LEVEL max_zorder) { - if(NULL == slide) + if(0 == slide) { return -1; } @@ -74,7 +74,7 @@ int c_slide_group::add_slide(c_wnd* slide, unsigned short resource_id, short x, { if(m_slides[i] == slide) {//slide has lived - ASSERT(FALSE); + ASSERT(false); return -2; } i++; @@ -84,7 +84,7 @@ int c_slide_group::add_slide(c_wnd* slide, unsigned short resource_id, short x, i = 0; while(i < MAX_PAGES) { - if(m_slides[i] == NULL) + if(m_slides[i] == 0) { m_slides[i] = slide; slide->show_window(); @@ -94,14 +94,14 @@ int c_slide_group::add_slide(c_wnd* slide, unsigned short resource_id, short x, } //no more slide can be add - ASSERT(FALSE); + ASSERT(false); return -3; } int c_slide_group::add_clone_silde(c_wnd* slide, unsigned short resource_id, short x, short y, short width, short height, WND_TREE* p_child_tree, Z_ORDER_LEVEL max_zorder) { - if(NULL == slide) + if(0 == slide) { return -1; } @@ -118,7 +118,7 @@ int c_slide_group::add_clone_silde(c_wnd* slide, unsigned short resource_id, sho { if(m_slides[i] == page_tmp) {//slide has lived - ASSERT(FALSE); + ASSERT(false); return -2; } i++; @@ -128,7 +128,7 @@ int c_slide_group::add_clone_silde(c_wnd* slide, unsigned short resource_id, sho i = 0; while(i < MAX_PAGES) { - if(m_slides[i] == NULL) + if(m_slides[i] == 0) { m_slides[i] = page_tmp; page_tmp->show_window(); @@ -138,7 +138,7 @@ int c_slide_group::add_clone_silde(c_wnd* slide, unsigned short resource_id, sho } //no more slide can be add - ASSERT(FALSE); + ASSERT(false); return -3; } @@ -154,9 +154,9 @@ void c_slide_group::disabel_all_slide() } bool c_slide_group::on_touch(int x, int y, TOUCH_ACTION action) -{ +{ x -= m_wnd_rect.m_left; - y -= m_wnd_rect.m_top; + y -= m_wnd_rect.m_top; if (m_slides[m_active_slide_index]) { m_slides[m_active_slide_index]->on_touch(x, y, action); @@ -165,7 +165,7 @@ bool c_slide_group::on_touch(int x, int y, TOUCH_ACTION action) } bool c_slide_group::on_key(KEY_TYPE key) -{ +{ if (m_slides[m_active_slide_index]) { m_slides[m_active_slide_index]->on_key(key); diff --git a/widgets/spinbox.cpp b/widgets/spinbox.cpp index fa3be70..f2609ee 100644 --- a/widgets/spinbox.cpp +++ b/widgets/spinbox.cpp @@ -20,7 +20,7 @@ GL_END_MESSAGE_MAP() void c_spin_box::pre_create_wnd() { - m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS | ALIGN_HCENTER | ALIGN_VCENTER; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); m_font_type = c_theme::get_font(FONT_DEFAULT); m_font_color = c_theme::get_color(COLOR_WND_FONT); @@ -52,7 +52,7 @@ bool c_spin_box::on_touch(int x, int y, TOUCH_ACTION action) void c_spin_box::on_touch_down(int x, int y) { - if (FALSE == m_wnd_rect.PtInRect(x, y)) + if (false == m_wnd_rect.PtInRect(x, y)) {//maybe click on up/down arrow button return; } @@ -64,7 +64,7 @@ void c_spin_box::on_touch_down(int x, int y) void c_spin_box::on_touch_up(int x, int y) { - if (FALSE == m_wnd_rect.PtInRect(x, y)) + if (false == m_wnd_rect.PtInRect(x, y)) {//maybe click on up/down arrow button return; } @@ -103,14 +103,14 @@ void c_spin_box::show_arrow_button() m_bt_down.connect(this, ID_BT_ARROW_DOWN, "\xe2\x96\xbc"/*▼*/, m_bt_up_rect.Width(), m_wnd_rect.Height(), m_bt_down_rect.Width(),m_bt_down_rect.Height()); m_bt_down.show_window(); - m_style |= GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS | ATTR_MODAL); } void c_spin_box::hide_arrow_button() { m_bt_up.disconnect(); m_bt_down.disconnect(); - m_style &= ~GL_ATTR_MODAL; + m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } void c_spin_box::on_paint() @@ -130,6 +130,7 @@ void c_spin_box::on_paint() m_z_order = m_parent->get_z_order(); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); + c_word::draw_value_in_rect(m_surface, m_parent->get_z_order(), m_cur_value, m_digit, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_NORMAL), ALIGN_HCENTER | ALIGN_VCENTER); break; case STATUS_FOCUSED: if (m_z_order > m_parent->get_z_order()) @@ -139,6 +140,7 @@ void c_spin_box::on_paint() m_z_order = m_parent->get_z_order(); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); + c_word::draw_value_in_rect(m_surface, m_parent->get_z_order(), m_cur_value, m_digit, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_FOCUS), ALIGN_HCENTER | ALIGN_VCENTER); break; case STATUS_PUSHED: if (m_z_order == m_parent->get_z_order()) @@ -152,15 +154,11 @@ void c_spin_box::on_paint() m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_PUSHED), m_parent->get_z_order()); m_surface->draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_BORDER), m_parent->get_z_order(), 2); - c_word::draw_value_in_rect(m_surface, m_parent->get_z_order(), m_cur_value, m_digit, rect, m_font_type, GL_RGB(2, 124, 165), GL_ARGB(0, 0, 0, 0), m_style); - return; + c_word::draw_value_in_rect(m_surface, m_parent->get_z_order(), m_cur_value, m_digit, rect, m_font_type, m_font_color, c_theme::get_color(COLOR_WND_PUSHED), ALIGN_HCENTER | ALIGN_VCENTER); break; default: - ASSERT(FALSE); - break; + ASSERT(false); } - - c_word::draw_value_in_rect(m_surface, m_parent->get_z_order(), m_cur_value, m_digit, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style); } void c_spin_box::on_arrow_up_bt_click(unsigned int ctr_id) diff --git a/widgets/wave_ctrl.cpp b/widgets/wave_ctrl.cpp index c912a8c..76d6291 100644 --- a/widgets/wave_ctrl.cpp +++ b/widgets/wave_ctrl.cpp @@ -21,9 +21,9 @@ c_wave_ctrl::c_wave_ctrl() { - m_wave = NULL; - m_bg_fb = NULL; - m_wave_name_font = m_wave_unit_font = NULL; + m_wave = 0; + m_bg_fb = 0; + m_wave_name_font = m_wave_unit_font = 0; m_wave_name = m_wave_unit = 0; m_max_data = 500; m_min_data = 0; @@ -78,9 +78,9 @@ void c_wave_ctrl::set_wave_speed(unsigned int speed) void c_wave_ctrl::clear_data() { - if(m_wave == NULL) + if(m_wave == 0) { - ASSERT(FALSE); + ASSERT(false); return; } m_wave->clear_data(); @@ -88,9 +88,9 @@ void c_wave_ctrl::clear_data() bool c_wave_ctrl::is_data_enough() { - if(m_wave == NULL) + if(m_wave == 0) { - ASSERT(FALSE); + ASSERT(false); return false; } return (m_wave->get_cnt() - m_frame_len_map[m_frame_len_map_index] * m_wave_speed); @@ -98,9 +98,9 @@ bool c_wave_ctrl::is_data_enough() void c_wave_ctrl::refresh_wave(unsigned char frame) { - if(m_wave == NULL) + if(m_wave == 0) { - ASSERT(FALSE); + ASSERT(false); return; } @@ -117,7 +117,7 @@ void c_wave_ctrl::refresh_wave(unsigned char frame) int y_min,y_max; if(m_max_data == m_min_data) { - ASSERT(FALSE); + ASSERT(false); } y_max = m_wave_bottom + WAVE_LINE_WIDTH - (m_wave_bottom - m_wave_top)*(min - m_min_data)/(m_max_data - m_min_data); y_min = m_wave_bottom - WAVE_LINE_WIDTH - (m_wave_bottom - m_wave_top)*(max - m_min_data)/(m_max_data - m_min_data); diff --git a/widgets_include/button.h b/widgets_include/button.h index 259ab2f..3965686 100644 --- a/widgets_include/button.h +++ b/widgets_include/button.h @@ -10,11 +10,6 @@ class c_button : public c_wnd { public: virtual c_wnd* clone(){return new c_button();} - - void set_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_normal = pBitmap; } - void set_focus_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_focus = pBitmap; } - void set_pushed_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_pushed = pBitmap; } - void set_disable_bitmap(const BITMAP_INFO *pBitmap) { m_bitmap_disable = pBitmap; } protected: virtual void on_paint(); virtual void on_focus(); @@ -23,11 +18,6 @@ protected: virtual bool on_touch(int x, int y, TOUCH_ACTION action); virtual bool on_key(KEY_TYPE key); - - const BITMAP_INFO* m_bitmap_normal; - const BITMAP_INFO* m_bitmap_focus; - const BITMAP_INFO* m_bitmap_pushed; - const BITMAP_INFO* m_bitmap_disable; }; #endif diff --git a/widgets_include/slide_group.h b/widgets_include/slide_group.h index bd87687..b37b6fa 100644 --- a/widgets_include/slide_group.h +++ b/widgets_include/slide_group.h @@ -11,10 +11,10 @@ public: c_wnd* get_active_slide(){return m_slides[m_active_slide_index];} int get_active_slide_index(){return m_active_slide_index;} int add_slide(c_wnd* slide, unsigned short resource_id, short x, short y, - short width, short height, WND_TREE* p_child_tree = NULL, + short width, short height, WND_TREE* p_child_tree = 0, Z_ORDER_LEVEL max_zorder = Z_ORDER_LEVEL_0); int add_clone_silde(c_wnd* slide, unsigned short resource_id, short x, short y, - short width, short height, WND_TREE* p_child_tree = NULL, + short width, short height, WND_TREE* p_child_tree = 0, Z_ORDER_LEVEL max_zorder = Z_ORDER_LEVEL_0); void disabel_all_slide(); virtual bool on_touch(int x, int y, TOUCH_ACTION action);