diff --git a/GuiLite.h b/GuiLite.h index 6f0b212..fb0a2b7 100644 --- a/GuiLite.h +++ b/GuiLite.h @@ -391,7 +391,7 @@ class c_display { public: inline c_display(void* phy_fb, int display_width, int display_height, int surface_width, int surface_height, unsigned int color_bytes, int surface_cnt, EXTERNAL_GFX_OP* gfx_op = 0);//multiple surface or surface_no_fb inline c_display(void* phy_fb, int display_width, int display_height, c_surface* surface);//single custom surface - inline c_surface* alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect overlap_rect = c_rect(0, 0, -1, -1));//for multiple surfaces + inline c_surface* alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect layer_rect = c_rect(0, 0, -1, -1));//for multiple surfaces inline int swipe_surface(c_surface* s0, c_surface* s1, int x0, int x1, int y0, int y1, int offset); int get_width() { return m_width; } int get_height() { return m_height; } @@ -449,10 +449,10 @@ private: int m_surface_cnt; int m_surface_index; }; -class c_overlap_zone +class c_layer { public: - c_overlap_zone() { fb = 0; } + c_layer() { fb = 0; } void* fb; c_rect rect; }; @@ -472,9 +472,9 @@ public: ASSERT(false); return 0; } - if (m_overlap_zones[z_order].fb) + if (m_layers[z_order].fb) { - return (m_color_bytes == 4) ? ((unsigned int*)(m_overlap_zones[z_order].fb))[y * m_width + x] : GL_RGB_16_to_32(((unsigned short*)(m_overlap_zones[z_order].fb))[y * m_width + x]); + return (m_color_bytes == 4) ? ((unsigned int*)(m_layers[z_order].fb))[y * m_width + x] : GL_RGB_16_to_32(((unsigned short*)(m_layers[z_order].fb))[y * m_width + x]); } else if (m_fb) { @@ -506,16 +506,16 @@ public: { m_top_zorder = (Z_ORDER_LEVEL)z_order; } - if (m_overlap_zones[z_order].rect.PtInRect(x, y)) + if (m_layers[z_order].rect.PtInRect(x, y)) { - c_rect overlap_rect = m_overlap_zones[z_order].rect; + c_rect layer_rect = m_layers[z_order].rect; if (m_color_bytes == 4) { - ((unsigned int*)(m_overlap_zones[z_order].fb))[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * overlap_rect.Width()] = rgb; + ((unsigned int*)(m_layers[z_order].fb))[(x - layer_rect.m_left) + (y - layer_rect.m_top) * layer_rect.Width()] = rgb; } else { - ((unsigned short*)(m_overlap_zones[z_order].fb))[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * overlap_rect.Width()] = GL_RGB_32_to_16(rgb); + ((unsigned short*)(m_layers[z_order].fb))[(x - layer_rect.m_left) + (y - layer_rect.m_top) * layer_rect.Width()] = GL_RGB_32_to_16(rgb); } } @@ -526,7 +526,7 @@ public: bool be_overlapped = false; for (unsigned int tmp_z_order = Z_ORDER_LEVEL_MAX - 1; tmp_z_order > z_order; tmp_z_order--) { - if (m_overlap_zones[tmp_z_order].rect.PtInRect(x, y)) + if (m_layers[tmp_z_order].rect.PtInRect(x, y)) { be_overlapped = true; break; @@ -550,21 +550,21 @@ public: if (z_order == m_top_zorder) { int x, y; - c_rect overlap_rect = m_overlap_zones[z_order].rect; + c_rect layer_rect = m_layers[z_order].rect; unsigned int rgb_16 = GL_RGB_32_to_16(rgb); for (y = y0; y <= y1; y++) { for (x = x0; x <= x1; x++) { - if (overlap_rect.PtInRect(x, y)) + if (layer_rect.PtInRect(x, y)) { if (m_color_bytes == 4) { - ((unsigned int*)m_overlap_zones[z_order].fb)[(y - overlap_rect.m_top) * overlap_rect.Width() + (x - overlap_rect.m_left)] = rgb; + ((unsigned int*)m_layers[z_order].fb)[(y - layer_rect.m_top) * layer_rect.Width() + (x - layer_rect.m_left)] = rgb; } else { - ((unsigned short*)m_overlap_zones[z_order].fb)[(y - overlap_rect.m_top) * overlap_rect.Width() + (x - overlap_rect.m_left)] = rgb_16; + ((unsigned short*)m_layers[z_order].fb)[(y - layer_rect.m_top) * layer_rect.Width() + (x - layer_rect.m_left)] = rgb_16; } } } @@ -667,19 +667,19 @@ public: } bool is_active() { return m_is_active; } c_display* get_display() { return m_display; } - int show_overlapped_rect(c_rect& rect, unsigned int z_order) + int show_layer(c_rect& rect, unsigned int z_order) { ASSERT(z_order >= Z_ORDER_LEVEL_0 && z_order < Z_ORDER_LEVEL_MAX); - c_rect overlap_rect = m_overlap_zones[z_order].rect; - ASSERT(rect.m_left >= overlap_rect.m_left && rect.m_right <= overlap_rect.m_right && - rect.m_top >= overlap_rect.m_top && rect.m_bottom <= overlap_rect.m_bottom); - void* fb = m_overlap_zones[z_order].fb; - int width = overlap_rect.Width(); + c_rect layer_rect = m_layers[z_order].rect; + ASSERT(rect.m_left >= layer_rect.m_left && rect.m_right <= layer_rect.m_right && + rect.m_top >= layer_rect.m_top && rect.m_bottom <= layer_rect.m_bottom); + void* fb = m_layers[z_order].fb; + int width = layer_rect.Width(); for (int y = rect.m_top; y <= rect.m_bottom; y++) { for (int x = rect.m_left; x <= rect.m_right; x++) { - unsigned int rgb = (m_color_bytes == 4) ? ((unsigned int*)fb)[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * width] : GL_RGB_16_to_32(((unsigned short*)fb)[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * width]); + unsigned int rgb = (m_color_bytes == 4) ? ((unsigned int*)fb)[(x - layer_rect.m_left) + (y - layer_rect.m_top) * width] : GL_RGB_16_to_32(((unsigned short*)fb)[(x - layer_rect.m_left) + (y - layer_rect.m_top) * width]); draw_pixel_on_fb(x, y, rgb); } } @@ -765,7 +765,7 @@ protected: m_phy_fb = display->m_phy_fb; m_phy_write_index = &display->m_phy_write_index; } - void set_surface(Z_ORDER_LEVEL max_z_order, c_rect overlap_rect) + void set_surface(Z_ORDER_LEVEL max_z_order, c_rect layer_rect) { m_max_zorder = max_z_order; if (m_display && (m_display->m_surface_cnt > 1)) @@ -774,15 +774,15 @@ protected: } for (int i = Z_ORDER_LEVEL_0; i < m_max_zorder; i++) {//Top layber fb always be 0 - ASSERT(m_overlap_zones[i].fb = calloc(overlap_rect.Width() * overlap_rect.Height(), m_color_bytes)); - m_overlap_zones[i].rect = overlap_rect; + ASSERT(m_layers[i].fb = calloc(layer_rect.Width() * layer_rect.Height(), m_color_bytes)); + m_layers[i].rect = layer_rect; } } int m_width; //in pixels int m_height; //in pixels int m_color_bytes; //16 bits, 32 bits only void* m_fb; //frame buffer you could see - c_overlap_zone m_overlap_zones[Z_ORDER_LEVEL_MAX];//Top layber fb always be 0 + c_layer m_layers[Z_ORDER_LEVEL_MAX];//Top layber fb always be 0 bool m_is_active; Z_ORDER_LEVEL m_max_zorder; Z_ORDER_LEVEL m_top_zorder; @@ -878,10 +878,10 @@ inline c_display::c_display(void* phy_fb, int display_width, int display_height, surface->m_is_active = true; (m_surface_group[0] = surface)->attach_display(this); } -inline c_surface* c_display::alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect overlap_rect) +inline c_surface* c_display::alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect layer_rect) { ASSERT(max_zorder < Z_ORDER_LEVEL_MAX && m_surface_index < m_surface_cnt); - (overlap_rect == c_rect(0, 0, -1, -1)) ? m_surface_group[m_surface_index]->set_surface(max_zorder, c_rect(0, 0, m_width - 1, m_height - 1)) : m_surface_group[m_surface_index]->set_surface(max_zorder, overlap_rect); + (layer_rect == c_rect(0, 0, -1, -1)) ? m_surface_group[m_surface_index]->set_surface(max_zorder, c_rect(0, 0, m_width - 1, m_height - 1)) : m_surface_group[m_surface_index]->set_surface(max_zorder, layer_rect); return m_surface_group[m_surface_index++]; } inline int c_display::swipe_surface(c_surface* s0, c_surface* s1, int x0, int x1, int y0, int y1, int offset) @@ -1249,9 +1249,9 @@ public: c_rect lower_fb_rect; if (z_order >= Z_ORDER_LEVEL_1) { - lower_fb_16 = (unsigned short*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_32 = (unsigned int*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_rect = surface->m_overlap_zones[z_order - 1].rect; + lower_fb_16 = (unsigned short*)surface->m_layers[z_order - 1].fb; + lower_fb_32 = (unsigned int*)surface->m_layers[z_order - 1].fb; + lower_fb_rect = surface->m_layers[z_order - 1].rect; lower_fb_width = lower_fb_rect.Width(); } unsigned int mask_rgb_16 = GL_RGB_32_to_16(mask_rgb); @@ -1290,9 +1290,9 @@ public: c_rect lower_fb_rect; if (z_order >= Z_ORDER_LEVEL_1) { - lower_fb_16 = (unsigned short*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_32 = (unsigned int*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_rect = surface->m_overlap_zones[z_order - 1].rect; + lower_fb_16 = (unsigned short*)surface->m_layers[z_order - 1].fb; + lower_fb_32 = (unsigned int*)surface->m_layers[z_order - 1].fb; + lower_fb_rect = surface->m_layers[z_order - 1].rect; lower_fb_width = lower_fb_rect.Width(); } unsigned int mask_rgb_16 = GL_RGB_32_to_16(mask_rgb); @@ -1940,7 +1940,7 @@ public: c_rect rc; dlg->get_screen_rect(rc); dlg->set_attr(WND_ATTRIBUTION(0)); - surface->show_overlapped_rect(rc, dlg->m_z_order - 1); + surface->show_layer(rc, dlg->m_z_order - 1); //clear the dialog for (int i = 0; i < SURFACE_CNT_MAX; i++) { @@ -2267,7 +2267,7 @@ protected: { s_keyboard.disconnect(); m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(kb_rect, m_z_order); + m_surface->show_layer(kb_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); @@ -2278,7 +2278,7 @@ protected: { s_keyboard.disconnect(); m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(kb_rect, m_z_order); + m_surface->show_layer(kb_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); @@ -2495,7 +2495,7 @@ protected: if (m_z_order > m_parent->get_z_order()) { m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(m_list_screen_rect, m_z_order); + m_surface->show_layer(m_list_screen_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); @@ -2505,7 +2505,7 @@ protected: if (m_z_order > m_parent->get_z_order()) { m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(m_list_screen_rect, m_z_order); + m_surface->show_layer(m_list_screen_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); diff --git a/workspace/core_include/bitmap.h b/workspace/core_include/bitmap.h index b20e9ba..8ecbda2 100644 --- a/workspace/core_include/bitmap.h +++ b/workspace/core_include/bitmap.h @@ -20,9 +20,9 @@ public: c_rect lower_fb_rect; if (z_order >= Z_ORDER_LEVEL_1) { - lower_fb_16 = (unsigned short*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_32 = (unsigned int*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_rect = surface->m_overlap_zones[z_order - 1].rect; + lower_fb_16 = (unsigned short*)surface->m_layers[z_order - 1].fb; + lower_fb_32 = (unsigned int*)surface->m_layers[z_order - 1].fb; + lower_fb_rect = surface->m_layers[z_order - 1].rect; lower_fb_width = lower_fb_rect.Width(); } unsigned int mask_rgb_16 = GL_RGB_32_to_16(mask_rgb); @@ -63,9 +63,9 @@ public: c_rect lower_fb_rect; if (z_order >= Z_ORDER_LEVEL_1) { - lower_fb_16 = (unsigned short*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_32 = (unsigned int*)surface->m_overlap_zones[z_order - 1].fb; - lower_fb_rect = surface->m_overlap_zones[z_order - 1].rect; + lower_fb_16 = (unsigned short*)surface->m_layers[z_order - 1].fb; + lower_fb_32 = (unsigned int*)surface->m_layers[z_order - 1].fb; + lower_fb_rect = surface->m_layers[z_order - 1].rect; lower_fb_width = lower_fb_rect.Width(); } unsigned int mask_rgb_16 = GL_RGB_32_to_16(mask_rgb); diff --git a/workspace/core_include/display.h b/workspace/core_include/display.h index 61d10af..ae47f88 100644 --- a/workspace/core_include/display.h +++ b/workspace/core_include/display.h @@ -30,7 +30,7 @@ class c_display { public: inline c_display(void* phy_fb, int display_width, int display_height, int surface_width, int surface_height, unsigned int color_bytes, int surface_cnt, EXTERNAL_GFX_OP* gfx_op = 0);//multiple surface or surface_no_fb inline c_display(void* phy_fb, int display_width, int display_height, c_surface* surface);//single custom surface - inline c_surface* alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect overlap_rect = c_rect(0, 0, -1, -1));//for multiple surfaces + inline c_surface* alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect layer_rect = c_rect(0, 0, -1, -1));//for multiple surfaces inline int swipe_surface(c_surface* s0, c_surface* s1, int x0, int x1, int y0, int y1, int offset); int get_width() { return m_width; } int get_height() { return m_height; } @@ -97,10 +97,10 @@ private: int m_surface_index; }; -class c_overlap_zone +class c_layer { public: - c_overlap_zone() { fb = 0; } + c_layer() { fb = 0; } void* fb; c_rect rect; }; @@ -123,9 +123,9 @@ public: ASSERT(false); return 0; } - if (m_overlap_zones[z_order].fb) + if (m_layers[z_order].fb) { - return (m_color_bytes == 4) ? ((unsigned int*)(m_overlap_zones[z_order].fb))[y * m_width + x] : GL_RGB_16_to_32(((unsigned short*)(m_overlap_zones[z_order].fb))[y * m_width + x]); + return (m_color_bytes == 4) ? ((unsigned int*)(m_layers[z_order].fb))[y * m_width + x] : GL_RGB_16_to_32(((unsigned short*)(m_layers[z_order].fb))[y * m_width + x]); } else if (m_fb) { @@ -160,16 +160,16 @@ public: m_top_zorder = (Z_ORDER_LEVEL)z_order; } - if (m_overlap_zones[z_order].rect.PtInRect(x, y)) + if (m_layers[z_order].rect.PtInRect(x, y)) { - c_rect overlap_rect = m_overlap_zones[z_order].rect; + c_rect layer_rect = m_layers[z_order].rect; if (m_color_bytes == 4) { - ((unsigned int*)(m_overlap_zones[z_order].fb))[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * overlap_rect.Width()] = rgb; + ((unsigned int*)(m_layers[z_order].fb))[(x - layer_rect.m_left) + (y - layer_rect.m_top) * layer_rect.Width()] = rgb; } else { - ((unsigned short*)(m_overlap_zones[z_order].fb))[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * overlap_rect.Width()] = GL_RGB_32_to_16(rgb); + ((unsigned short*)(m_layers[z_order].fb))[(x - layer_rect.m_left) + (y - layer_rect.m_top) * layer_rect.Width()] = GL_RGB_32_to_16(rgb); } } @@ -181,7 +181,7 @@ public: bool be_overlapped = false; for (unsigned int tmp_z_order = Z_ORDER_LEVEL_MAX - 1; tmp_z_order > z_order; tmp_z_order--) { - if (m_overlap_zones[tmp_z_order].rect.PtInRect(x, y)) + if (m_layers[tmp_z_order].rect.PtInRect(x, y)) { be_overlapped = true; break; @@ -209,21 +209,21 @@ public: if (z_order == m_top_zorder) { int x, y; - c_rect overlap_rect = m_overlap_zones[z_order].rect; + c_rect layer_rect = m_layers[z_order].rect; unsigned int rgb_16 = GL_RGB_32_to_16(rgb); for (y = y0; y <= y1; y++) { for (x = x0; x <= x1; x++) { - if (overlap_rect.PtInRect(x, y)) + if (layer_rect.PtInRect(x, y)) { if (m_color_bytes == 4) { - ((unsigned int*)m_overlap_zones[z_order].fb)[(y - overlap_rect.m_top) * overlap_rect.Width() + (x - overlap_rect.m_left)] = rgb; + ((unsigned int*)m_layers[z_order].fb)[(y - layer_rect.m_top) * layer_rect.Width() + (x - layer_rect.m_left)] = rgb; } else { - ((unsigned short*)m_overlap_zones[z_order].fb)[(y - overlap_rect.m_top) * overlap_rect.Width() + (x - overlap_rect.m_left)] = rgb_16; + ((unsigned short*)m_layers[z_order].fb)[(y - layer_rect.m_top) * layer_rect.Width() + (x - layer_rect.m_left)] = rgb_16; } } } @@ -343,21 +343,21 @@ public: bool is_active() { return m_is_active; } c_display* get_display() { return m_display; } - int show_overlapped_rect(c_rect& rect, unsigned int z_order) + int show_layer(c_rect& rect, unsigned int z_order) { ASSERT(z_order >= Z_ORDER_LEVEL_0 && z_order < Z_ORDER_LEVEL_MAX); - c_rect overlap_rect = m_overlap_zones[z_order].rect; - ASSERT(rect.m_left >= overlap_rect.m_left && rect.m_right <= overlap_rect.m_right && - rect.m_top >= overlap_rect.m_top && rect.m_bottom <= overlap_rect.m_bottom); + c_rect layer_rect = m_layers[z_order].rect; + ASSERT(rect.m_left >= layer_rect.m_left && rect.m_right <= layer_rect.m_right && + rect.m_top >= layer_rect.m_top && rect.m_bottom <= layer_rect.m_bottom); - void* fb = m_overlap_zones[z_order].fb; - int width = overlap_rect.Width(); + void* fb = m_layers[z_order].fb; + int width = layer_rect.Width(); for (int y = rect.m_top; y <= rect.m_bottom; y++) { for (int x = rect.m_left; x <= rect.m_right; x++) { - unsigned int rgb = (m_color_bytes == 4) ? ((unsigned int*)fb)[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * width] : GL_RGB_16_to_32(((unsigned short*)fb)[(x - overlap_rect.m_left) + (y - overlap_rect.m_top) * width]); + unsigned int rgb = (m_color_bytes == 4) ? ((unsigned int*)fb)[(x - layer_rect.m_left) + (y - layer_rect.m_top) * width] : GL_RGB_16_to_32(((unsigned short*)fb)[(x - layer_rect.m_left) + (y - layer_rect.m_top) * width]); draw_pixel_on_fb(x, y, rgb); } } @@ -448,7 +448,7 @@ protected: m_phy_write_index = &display->m_phy_write_index; } - void set_surface(Z_ORDER_LEVEL max_z_order, c_rect overlap_rect) + void set_surface(Z_ORDER_LEVEL max_z_order, c_rect layer_rect) { m_max_zorder = max_z_order; if (m_display && (m_display->m_surface_cnt > 1)) @@ -458,8 +458,8 @@ protected: for (int i = Z_ORDER_LEVEL_0; i < m_max_zorder; i++) {//Top layber fb always be 0 - ASSERT(m_overlap_zones[i].fb = calloc(overlap_rect.Width() * overlap_rect.Height(), m_color_bytes)); - m_overlap_zones[i].rect = overlap_rect; + ASSERT(m_layers[i].fb = calloc(layer_rect.Width() * layer_rect.Height(), m_color_bytes)); + m_layers[i].rect = layer_rect; } } @@ -467,7 +467,7 @@ protected: int m_height; //in pixels int m_color_bytes; //16 bits, 32 bits only void* m_fb; //frame buffer you could see - c_overlap_zone m_overlap_zones[Z_ORDER_LEVEL_MAX];//Top layber fb always be 0 + c_layer m_layers[Z_ORDER_LEVEL_MAX];//Top layber fb always be 0 bool m_is_active; Z_ORDER_LEVEL m_max_zorder; Z_ORDER_LEVEL m_top_zorder; @@ -571,10 +571,10 @@ inline c_display::c_display(void* phy_fb, int display_width, int display_height, (m_surface_group[0] = surface)->attach_display(this); } -inline c_surface* c_display::alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect overlap_rect) +inline c_surface* c_display::alloc_surface(Z_ORDER_LEVEL max_zorder, c_rect layer_rect) { ASSERT(max_zorder < Z_ORDER_LEVEL_MAX && m_surface_index < m_surface_cnt); - (overlap_rect == c_rect(0, 0, -1, -1)) ? m_surface_group[m_surface_index]->set_surface(max_zorder, c_rect(0, 0, m_width - 1, m_height - 1)) : m_surface_group[m_surface_index]->set_surface(max_zorder, overlap_rect); + (layer_rect == c_rect(0, 0, -1, -1)) ? m_surface_group[m_surface_index]->set_surface(max_zorder, c_rect(0, 0, m_width - 1, m_height - 1)) : m_surface_group[m_surface_index]->set_surface(max_zorder, layer_rect); return m_surface_group[m_surface_index++]; } diff --git a/workspace/widgets_include/dialog.h b/workspace/widgets_include/dialog.h index 1b9334f..b35ab4d 100644 --- a/workspace/widgets_include/dialog.h +++ b/workspace/widgets_include/dialog.h @@ -57,7 +57,7 @@ public: c_rect rc; dlg->get_screen_rect(rc); dlg->set_attr(WND_ATTRIBUTION(0)); - surface->show_overlapped_rect(rc, dlg->m_z_order - 1); + surface->show_layer(rc, dlg->m_z_order - 1); //clear the dialog for (int i = 0; i < SURFACE_CNT_MAX; i++) diff --git a/workspace/widgets_include/edit.h b/workspace/widgets_include/edit.h index 81d0152..2ae689b 100644 --- a/workspace/widgets_include/edit.h +++ b/workspace/widgets_include/edit.h @@ -54,7 +54,7 @@ protected: { s_keyboard.disconnect(); m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(kb_rect, m_z_order); + m_surface->show_layer(kb_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); @@ -65,7 +65,7 @@ protected: { s_keyboard.disconnect(); m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(kb_rect, m_z_order); + m_surface->show_layer(kb_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order); diff --git a/workspace/widgets_include/list_box.h b/workspace/widgets_include/list_box.h index fc2388d..5acc393 100644 --- a/workspace/widgets_include/list_box.h +++ b/workspace/widgets_include/list_box.h @@ -71,7 +71,7 @@ protected: if (m_z_order > m_parent->get_z_order()) { m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(m_list_screen_rect, m_z_order); + m_surface->show_layer(m_list_screen_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order); @@ -81,7 +81,7 @@ protected: if (m_z_order > m_parent->get_z_order()) { m_z_order = m_parent->get_z_order(); - m_surface->show_overlapped_rect(m_list_screen_rect, m_z_order); + m_surface->show_layer(m_list_screen_rect, m_z_order); m_attr = (WND_ATTRIBUTION)(ATTR_VISIBLE | ATTR_FOCUS); } m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order);