mirror of
https://gitee.com/idea4good/GuiLite.git
synced 2025-01-15 17:02:52 +08:00
support 16 bits, 32 bits color, framebuffer map; remove redundant files
This commit is contained in:
parent
50b144b4c8
commit
565ef43706
14
.gitignore
vendored
14
.gitignore
vendored
@ -26,5 +26,15 @@
|
||||
*.app
|
||||
|
||||
# Visual studio
|
||||
/core/Debug
|
||||
/core/.vs/core/v15
|
||||
Debug
|
||||
Release
|
||||
.vs
|
||||
|
||||
# cmake
|
||||
CMakeCache.txt
|
||||
CMakeFiles
|
||||
cmake_install.cmake
|
||||
Makefile
|
||||
|
||||
libcore.a
|
||||
libgui.a
|
6
CMakeLists.txt
Normal file
6
CMakeLists.txt
Normal file
@ -0,0 +1,6 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
PROJECT(GuiLite)
|
||||
|
||||
ADD_SUBDIRECTORY(core)
|
||||
ADD_SUBDIRECTORY(gui)
|
58
GuiLite.sln
Normal file
58
GuiLite.sln
Normal file
@ -0,0 +1,58 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26228.9
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "core\core.vcxproj", "{8C80C76D-F437-4C69-BC94-252AC44171C2}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gui", "gui\gui.vcxproj", "{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
MinSizeRel|x64 = MinSizeRel|x64
|
||||
MinSizeRel|x86 = MinSizeRel|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
RelWithDebInfo|x64 = RelWithDebInfo|x64
|
||||
RelWithDebInfo|x86 = RelWithDebInfo|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Debug|x64.Build.0 = Debug|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Debug|x86.Build.0 = Debug|Win32
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.MinSizeRel|x64.ActiveCfg = Release|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.MinSizeRel|x64.Build.0 = Release|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.MinSizeRel|x86.ActiveCfg = Release|Win32
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.MinSizeRel|x86.Build.0 = Release|Win32
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Release|x64.ActiveCfg = Release|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Release|x64.Build.0 = Release|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Release|x86.ActiveCfg = Release|Win32
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.Release|x86.Build.0 = Release|Win32
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.RelWithDebInfo|x64.ActiveCfg = Release|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.RelWithDebInfo|x64.Build.0 = Release|x64
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.RelWithDebInfo|x86.ActiveCfg = Release|Win32
|
||||
{8C80C76D-F437-4C69-BC94-252AC44171C2}.RelWithDebInfo|x86.Build.0 = Release|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Debug|x64.Build.0 = Debug|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Debug|x86.Build.0 = Debug|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.MinSizeRel|x64.ActiveCfg = Release|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.MinSizeRel|x64.Build.0 = Release|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.MinSizeRel|x86.ActiveCfg = Release|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.MinSizeRel|x86.Build.0 = Release|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Release|x64.ActiveCfg = Release|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Release|x64.Build.0 = Release|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Release|x86.ActiveCfg = Release|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.Release|x86.Build.0 = Release|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.RelWithDebInfo|x64.ActiveCfg = Release|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.RelWithDebInfo|x64.Build.0 = Release|x64
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.RelWithDebInfo|x86.ActiveCfg = Release|Win32
|
||||
{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}.RelWithDebInfo|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
PROJECT(Core)
|
||||
|
||||
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/..)
|
||||
|
||||
ADD_DEFINITIONS(-fpermissive)
|
||||
|
||||
INCLUDE_DIRECTORIES(core_include)
|
||||
|
@ -150,7 +150,6 @@
|
||||
<ClCompile Include="src\display.cpp" />
|
||||
<ClCompile Include="src\surface.cpp" />
|
||||
<ClCompile Include="src\rect.cpp" />
|
||||
<ClCompile Include="src\rgb.cpp" />
|
||||
<ClCompile Include="src\wave_buffer.cpp" />
|
||||
<ClCompile Include="src\wave_ctrl.cpp" />
|
||||
<ClCompile Include="src\wnd.cpp" />
|
||||
|
@ -23,9 +23,6 @@
|
||||
<ClCompile Include="src\rect.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\rgb.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\wave_buffer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -15,10 +15,12 @@ void do_assert(const char* file, int line);
|
||||
|
||||
void log_out(const char* log);
|
||||
|
||||
unsigned int GLT_RGB(unsigned char r, unsigned char g, unsigned char b);
|
||||
unsigned char GLT_RGB_R(unsigned int color);
|
||||
unsigned char GLT_RGB_G(unsigned int color);
|
||||
unsigned char GLT_RGB_B(unsigned int color);
|
||||
#define GLT_RGB(r, g, b) ((r << 16) | (g << 8) | b)
|
||||
#define GLT_RGB_R(rgb) ((rgb >> 16) & 0xFF)
|
||||
#define GLT_RGB_G(rgb) ((rgb >> 8) & 0xFF)
|
||||
#define GLT_RGB_B(rgb) (rgb & 0xFF)
|
||||
#define GLT_RGB_32_to_16(rgb) (((rgb & 0xFF) >> 3) | ((rgb & 0xFC00) >> 5) | ((rgb & 0xF80000) >> 8))
|
||||
#define GLT_RGB_16_to_32(rgb) (((rgb & 0x1F) << 3) | ((rgb & 0x7E0) << 5) | ((rgb & 0xF800) << 8))
|
||||
|
||||
typedef struct _T_TIME
|
||||
{
|
||||
|
@ -9,9 +9,11 @@ class c_surface;
|
||||
|
||||
class c_display {
|
||||
public:
|
||||
c_display(void* phy_fb, unsigned int width, unsigned int height, unsigned int slides_cnt);
|
||||
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 slides_cnt);
|
||||
c_surface* create_surface(void* usr, Z_ORDER_LEVEL max_zorder);
|
||||
int merge_surface(c_surface* s1, c_surface* s2, int x1, int x2, int y1, int y2, int offset);
|
||||
int merge_surface(c_surface* s1, c_surface* s2, int x0, int x1, int y0, int y2, int offset);
|
||||
c_hid_pipe* get_hid_pipe() { return m_hid_pipe; }
|
||||
unsigned int get_width() { return m_width; }
|
||||
unsigned int get_height() { return m_height; }
|
||||
@ -19,8 +21,9 @@ public:
|
||||
static void* get_frame_buffer(unsigned int display_id, int* width, int* height);
|
||||
static int snap_shot(unsigned int display_id);
|
||||
private:
|
||||
unsigned int m_width; //in pixels
|
||||
unsigned int m_height; //in pixels
|
||||
unsigned int m_width; //in pixels
|
||||
unsigned int m_height; //in pixels
|
||||
unsigned int m_color_bytes; //16 bits, 32 bits only
|
||||
void* m_phy_fb;
|
||||
c_hid_pipe* m_hid_pipe;
|
||||
c_surface* m_surface_group[SURFACE_CNT_MAX];
|
||||
|
@ -32,15 +32,16 @@ class c_display;
|
||||
class c_surface {
|
||||
friend class c_display;
|
||||
public:
|
||||
c_surface(c_display* display, void* phy_fb, unsigned int width, unsigned int height);
|
||||
virtual void set_pixel(int x, int y, unsigned int rgb, unsigned int z_order);
|
||||
virtual void fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
virtual unsigned int get_pixel(int x, int y, unsigned int z_order);
|
||||
|
||||
void set_pixel(int x, int y, unsigned int rgb, unsigned int z_order);
|
||||
unsigned int get_pixel(int x, int y, unsigned int z_order);
|
||||
int get_width() { return m_width; }
|
||||
int get_height() { return m_height; }
|
||||
void draw_hline(int x0, int x1, int y, unsigned int rgb, unsigned int z_order);
|
||||
void draw_vline(int x, int y0, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void draw_line(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void draw_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void draw_custom_shape(int l, int t, int r, int b, unsigned int color, const CUSTOM_SHAPE pRgn[], int z_order);
|
||||
int flush_scrren(int left, int top, int right, int bottom);
|
||||
|
||||
@ -50,14 +51,16 @@ public:
|
||||
|
||||
int set_frame_layer(c_rect& rect, unsigned int z_order);
|
||||
void set_active(bool flag){m_is_active = flag;}
|
||||
private:
|
||||
protected:
|
||||
virtual void set_pixel_on_fb(int x, int y, unsigned int rgb);
|
||||
virtual void fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned int rgb);
|
||||
|
||||
void set_surface(void* wnd_root, Z_ORDER_LEVEL max_z_order);
|
||||
int copy_layer_pixel_2_fb(int x, int y, unsigned int z_order);
|
||||
void do_quick_set_pixel(int x,int y,unsigned int rgb);
|
||||
void do_quick_fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb);
|
||||
|
||||
unsigned int m_width; //in pixels
|
||||
unsigned int m_height; //in pixels
|
||||
c_surface(c_display* display, void* phy_fb, unsigned int width, unsigned int height, unsigned int color_bytes);
|
||||
int m_width; //in pixels
|
||||
int m_height; //in pixels
|
||||
int m_color_bytes; //16 bits, 32 bits only
|
||||
void* m_fb;
|
||||
struct FRAME_LAYER m_frame_layers[Z_ORDER_LEVEL_MAX];
|
||||
void* m_usr;
|
||||
@ -68,4 +71,14 @@ private:
|
||||
c_display* m_display;
|
||||
};
|
||||
|
||||
class c_surface_16bits : public c_surface {
|
||||
friend class c_display;
|
||||
c_surface_16bits(c_display* display, void* phy_fb, unsigned int width, unsigned int height, unsigned int color_bytes) :
|
||||
c_surface(display, phy_fb, width, height, color_bytes) {};
|
||||
virtual void set_pixel(int x, int y, unsigned int rgb, unsigned int z_order);
|
||||
virtual void set_pixel_on_fb(int x, int y, unsigned int rgb);
|
||||
virtual void fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
virtual void fill_rect_on_fb(int x0, int y0, int x1, int y1, unsigned int rgb);
|
||||
virtual unsigned int get_pixel(int x, int y, unsigned int z_order);
|
||||
};
|
||||
#endif
|
||||
|
@ -108,7 +108,7 @@ public:
|
||||
WND_STATUS get_status() { return m_status; }
|
||||
|
||||
c_surface* get_surface() { return m_surface; }
|
||||
void set_surface(c_surface* gal) { m_surface = gal; }
|
||||
void set_surface(c_surface* surface) { m_surface = surface; }
|
||||
protected:
|
||||
virtual void pre_create_wnd();
|
||||
virtual void display_window();
|
||||
|
@ -95,7 +95,8 @@ void c_bitmap::draw_bitmap_565(c_surface* surface, int z_order, int x, int y, in
|
||||
const unsigned short * p = pData;
|
||||
for (int i = 0; i < xsize; i++)
|
||||
{
|
||||
surface->set_pixel(x + i, y + j, *p++, z_order);
|
||||
unsigned int rgb = *p++;
|
||||
surface->set_pixel(x + i, y + j, GLT_RGB_16_to_32(rgb), z_order);
|
||||
}
|
||||
pData += BytesPerLine;
|
||||
}
|
||||
@ -113,8 +114,13 @@ void c_bitmap::draw_bitmap_565_inrect(c_surface* surface, int z_order, int x, in
|
||||
const unsigned short * p = pData;
|
||||
for (int i = 0; i < xsize; i++)
|
||||
{
|
||||
if(i >= width)break;
|
||||
surface->set_pixel(x + i, y + j, *p++, z_order);
|
||||
if (i >= width)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
unsigned int rgb = *p++;
|
||||
surface->set_pixel(x + i, y + j, GLT_RGB_16_to_32(rgb), z_order);
|
||||
}
|
||||
pData += BytesPerLine;
|
||||
}
|
||||
|
@ -10,10 +10,19 @@
|
||||
|
||||
c_display* c_display::ms_displays[MAX_DISPLAY];
|
||||
|
||||
c_display::c_display(void* phy_fb, unsigned int width, unsigned int height, unsigned int slides_cnt)
|
||||
c_display::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 slides_cnt)
|
||||
{
|
||||
m_width = width;
|
||||
m_height = height;
|
||||
if (color_bytes != 2 && color_bytes != 4)
|
||||
{
|
||||
log_out("Support 16 bits, 32 bits color only!");
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
m_width = display_width;
|
||||
m_height = display_height;
|
||||
m_color_bytes = color_bytes;
|
||||
m_phy_fb = phy_fb;
|
||||
m_hid_pipe = new c_hid_pipe(NULL);
|
||||
for (int i = 0; i < MAX_DISPLAY; i++)
|
||||
@ -33,7 +42,8 @@ c_display::c_display(void* phy_fb, unsigned int width, unsigned int height, unsi
|
||||
memset(m_surface_group, 0, sizeof(m_surface_group));
|
||||
for (int i = 0; i < m_surface_cnt; i++)
|
||||
{
|
||||
m_surface_group[i] = new c_surface(this, m_phy_fb, width, height);
|
||||
m_surface_group[i] = (color_bytes == 4) ? new c_surface(this, m_phy_fb, surface_width, surface_height, color_bytes) :
|
||||
new c_surface_16bits(this, m_phy_fb, surface_width, surface_height, color_bytes);
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,51 +80,39 @@ c_surface* c_display::create_surface(void* usr, Z_ORDER_LEVEL max_zorder)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int c_display::merge_surface(c_surface* s1, c_surface* s2, int x1, int x2, int y1, int y2, int offset)
|
||||
int c_display::merge_surface(c_surface* s1, c_surface* s2, int x0, int x1, int y0, int y1, int offset)
|
||||
{
|
||||
if (offset < 0 || offset >= m_width)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return -1;
|
||||
}
|
||||
if (y1 < 0 || y1 >= m_height)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return -1;
|
||||
}
|
||||
if (y2 < 0 || y2 >= m_height)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return -1;
|
||||
}
|
||||
if (x1 < 0 || x1 >= m_width)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return -1;
|
||||
}
|
||||
if (x2 < 0 || x2 >= m_width)
|
||||
int surface_width = s1->get_width();
|
||||
int surface_height = s1->get_height();
|
||||
|
||||
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);
|
||||
return -1;
|
||||
}
|
||||
|
||||
int width = (x2 - x1 + 1);
|
||||
if (width < 0 || width >= m_width || width < offset)
|
||||
int width = (x1 - x0 + 1);
|
||||
if (width < 0 || width >= surface_width || width < offset)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (int y = y1; y <= y2; y++)
|
||||
x0 = (x0 >= m_width) ? (m_width - 1) : x0;
|
||||
x1 = (x1 >= m_width) ? (m_width - 1) : x1;
|
||||
y0 = (y0 >= m_height) ? (m_height - 1) : y0;
|
||||
y1 = (y1 >= m_height) ? (m_height - 1) : y1;
|
||||
for (int y = y0; y <= y1; y++)
|
||||
{
|
||||
//Left surface
|
||||
char* addr_s = ((char*)(s1->m_fb) + (y * m_width + x1 + offset) * 2);
|
||||
char* addr_d = ((char*)(m_phy_fb) + (y * m_width + x1) * 2);
|
||||
memcpy(addr_d, addr_s, (width - offset) * 2);
|
||||
char* addr_s = ((char*)(s1->m_fb) + (y * (s1->get_width()) + x0 + offset) * m_color_bytes);
|
||||
char* addr_d = ((char*)(m_phy_fb) + (y * m_width + x0) * m_color_bytes);
|
||||
memcpy(addr_d, addr_s, (width - offset) * m_color_bytes);
|
||||
//Right surface
|
||||
addr_s = ((char*)(s2->m_fb) + (y * m_width + x1) * 2);
|
||||
addr_d = ((char*)(m_phy_fb) + (y * m_width + x1 + (width - offset)) * 2);
|
||||
memcpy(addr_d, addr_s, offset * 2);
|
||||
addr_s = ((char*)(s2->m_fb) + (y * (s2->get_width()) + x0) * m_color_bytes);
|
||||
addr_d = ((char*)(m_phy_fb) + (y * m_width + x0 + (width - offset)) * m_color_bytes);
|
||||
memcpy(addr_d, addr_s, offset * m_color_bytes);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -157,5 +155,24 @@ int c_display::snap_shot(unsigned int display_id)
|
||||
|
||||
unsigned int width = ms_displays[display_id]->get_width();
|
||||
unsigned int height = ms_displays[display_id]->get_height();
|
||||
return build_bmp(path, width, height, (unsigned char*)ms_displays[display_id]->m_phy_fb);
|
||||
|
||||
//16 bits framebuffer
|
||||
if (ms_displays[display_id]->m_color_bytes == 2)
|
||||
{
|
||||
return build_bmp(path, width, height, (unsigned char*)ms_displays[display_id]->m_phy_fb);
|
||||
}
|
||||
|
||||
//32 bits framebuffer
|
||||
unsigned short* p_bmp565_data = new unsigned short[width * height];
|
||||
unsigned int* p_raw_data = (unsigned int*)ms_displays[display_id]->m_phy_fb;
|
||||
|
||||
for (int i = 0; i < width * height; i++)
|
||||
{
|
||||
unsigned int rgb = *p_raw_data++;
|
||||
p_bmp565_data[i] = GLT_RGB_32_to_16(rgb);
|
||||
}
|
||||
|
||||
int ret = build_bmp(path, width, height, (unsigned char*)p_bmp565_data);
|
||||
delete []p_bmp565_data;
|
||||
return ret;
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
unsigned int GLT_RGB(unsigned char r, unsigned char g, unsigned char b)
|
||||
{
|
||||
return (((b >> 3) & 0x0000001F) | (((g >> 2) << 5) & 0x00007e0) | (((r >> 3) << 11) & 0xf800));
|
||||
}
|
||||
|
||||
unsigned char GLT_RGB_R(unsigned int rgb)
|
||||
{
|
||||
return ((rgb >> 8 )&0xF8);
|
||||
}
|
||||
|
||||
unsigned char GLT_RGB_G(unsigned int rgb)
|
||||
{
|
||||
return ((rgb >> 3 )&0xFC);
|
||||
}
|
||||
|
||||
unsigned char GLT_RGB_B(unsigned int rgb)
|
||||
{
|
||||
return ((rgb << 3)&0xF8);
|
||||
}
|
@ -3,21 +3,23 @@
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../core_include/display.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
c_surface::c_surface(c_display* display, void* phy_fb, unsigned int width, unsigned int height)
|
||||
c_surface::c_surface(c_display* display, void* phy_fb, unsigned int width, unsigned int height, unsigned int color_bytes)
|
||||
{
|
||||
m_width = width;
|
||||
m_height = height;
|
||||
m_color_bytes = color_bytes;
|
||||
m_display = display;
|
||||
m_phy_fb = phy_fb;
|
||||
m_fb = m_usr = NULL;
|
||||
m_top_zorder = m_max_zorder = Z_ORDER_LEVEL_0;
|
||||
m_is_active = false;
|
||||
|
||||
m_fb = calloc(m_width * m_height * 2, 1);
|
||||
m_frame_layers[Z_ORDER_LEVEL_0].rect = c_rect(0,0,m_width,m_height);
|
||||
m_fb = calloc(m_width * m_height, color_bytes);
|
||||
m_frame_layers[Z_ORDER_LEVEL_0].rect = c_rect(0, 0, m_width, m_height);
|
||||
}
|
||||
|
||||
void c_surface::set_surface(void* wnd_root, Z_ORDER_LEVEL max_z_order)
|
||||
@ -26,69 +28,29 @@ void c_surface::set_surface(void* wnd_root, Z_ORDER_LEVEL max_z_order)
|
||||
m_max_zorder = max_z_order;
|
||||
for(int i = 0; i <= m_max_zorder; i++)
|
||||
{
|
||||
m_frame_layers[i].fb = calloc(m_width * m_height * 2, 1);
|
||||
m_frame_layers[i].fb = calloc(m_width * m_height, m_color_bytes);
|
||||
ASSERT(NULL != m_frame_layers[i].fb);
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface::do_quick_set_pixel(int x, int y, unsigned int rgb)
|
||||
{
|
||||
((short*)m_fb)[y * m_width + x] = rgb;
|
||||
if(m_is_active)
|
||||
{
|
||||
((short*)m_phy_fb)[y * m_width + x] = rgb;
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface::do_quick_fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb)
|
||||
{
|
||||
if (x0 < 0 || y0 < 0 || x1 < 0 || y1 < 0)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
if (x0 >= m_width || x1 >= m_width || y0 >= m_height || y1 >= m_height)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
int x;
|
||||
short *fb, *phy_fb;
|
||||
for(;y0 <= y1; y0++)
|
||||
{
|
||||
x = x0;
|
||||
fb = &((short*)m_fb)[y0 * m_width + x];
|
||||
phy_fb = &((short*)m_phy_fb)[y0 * m_width + x];
|
||||
for(; x <= x1; x++)
|
||||
{
|
||||
*fb++ = rgb;
|
||||
if(m_is_active)
|
||||
{
|
||||
*phy_fb++ = rgb;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface::set_pixel(int x, int y, unsigned int rgb, unsigned int z_order)
|
||||
{
|
||||
if ( x >= m_width || y >= m_height || x < 0 || y < 0)
|
||||
if (x >= m_width || y >= m_height || x < 0 || y < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (z_order > m_max_zorder)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
if(z_order > m_top_zorder)
|
||||
if (z_order > m_top_zorder)
|
||||
{
|
||||
m_top_zorder = (Z_ORDER_LEVEL)z_order;
|
||||
}
|
||||
|
||||
if(0 == m_frame_layers[z_order].rect.PtInRect(x, y))
|
||||
if (0 == m_frame_layers[z_order].rect.PtInRect(x, y))
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
@ -96,20 +58,20 @@ void c_surface::set_pixel(int x, int y, unsigned int rgb, unsigned int z_order)
|
||||
|
||||
if (z_order == m_max_zorder)
|
||||
{
|
||||
return do_quick_set_pixel(x, y, rgb);
|
||||
return set_pixel_on_fb(x, y, rgb);
|
||||
}
|
||||
|
||||
((short*)(m_frame_layers[z_order].fb))[x + y * m_width] = rgb;
|
||||
((unsigned int*)(m_frame_layers[z_order].fb))[x + y * m_width] = rgb;
|
||||
|
||||
if(z_order == m_top_zorder)
|
||||
if (z_order == m_top_zorder)
|
||||
{
|
||||
return do_quick_set_pixel(x, y, rgb);
|
||||
return set_pixel_on_fb(x, y, rgb);
|
||||
}
|
||||
|
||||
bool is_covered = false;
|
||||
for (int tmp_z_order = Z_ORDER_LEVEL_MAX - 1; tmp_z_order > z_order; tmp_z_order--)
|
||||
{
|
||||
if(1 == m_frame_layers[tmp_z_order].rect.PtInRect(x, y))
|
||||
if (1 == m_frame_layers[tmp_z_order].rect.PtInRect(x, y))
|
||||
{
|
||||
is_covered = true;
|
||||
break;
|
||||
@ -118,10 +80,75 @@ void c_surface::set_pixel(int x, int y, unsigned int rgb, unsigned int z_order)
|
||||
|
||||
if (!is_covered)
|
||||
{
|
||||
((short*)m_fb)[y * m_width + x] = rgb;
|
||||
if(m_is_active)
|
||||
set_pixel_on_fb(x, y, rgb);
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface::set_pixel_on_fb(int x, int y, unsigned int rgb)
|
||||
{
|
||||
((unsigned int*)m_fb)[y * m_width + x] = rgb;
|
||||
|
||||
int display_width = m_display->get_width();
|
||||
int display_height = m_display->get_height();
|
||||
if (m_is_active && (x < display_width) && (y < display_height))
|
||||
{
|
||||
((unsigned int*)m_phy_fb)[y * (m_display->get_width()) + x] = rgb;
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface::fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order)
|
||||
{
|
||||
if (z_order == m_max_zorder)
|
||||
{
|
||||
return fill_rect_on_fb(x0, y0, x1, y1, rgb);
|
||||
}
|
||||
|
||||
if (z_order == m_top_zorder)
|
||||
{
|
||||
int x, y;
|
||||
unsigned int *mem_fb;
|
||||
for (y = y0; y <= y1; y++)
|
||||
{
|
||||
((short*)m_phy_fb)[y * m_width + x] = rgb;
|
||||
x = x0;
|
||||
mem_fb = &((unsigned int*)m_frame_layers[z_order].fb)[y * m_width + x];
|
||||
for (; x <= x1; x++)
|
||||
{
|
||||
*mem_fb++ = rgb;
|
||||
}
|
||||
}
|
||||
return fill_rect_on_fb(x0, y0, x1, y1, rgb);
|
||||
}
|
||||
|
||||
for (; y0 <= y1; y0++)
|
||||
{
|
||||
draw_hline(x0, x1, y0, rgb, z_order);
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
int x;
|
||||
unsigned int *fb, *phy_fb;
|
||||
int display_width = m_display->get_width();
|
||||
int display_height = m_display->get_height();
|
||||
for (; y0 <= y1; y0++)
|
||||
{
|
||||
x = x0;
|
||||
fb = &((unsigned int*)m_fb)[y0 * m_width + x];
|
||||
phy_fb = &((unsigned int*)m_phy_fb)[y0 * display_width + x];
|
||||
for (; x <= x1; x++)
|
||||
{
|
||||
*fb++ = rgb;
|
||||
if (m_is_active && (x < display_width) && (y0 < display_height))
|
||||
{
|
||||
*phy_fb++ = rgb;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -137,10 +164,10 @@ unsigned int c_surface::get_pixel(int x, int y, unsigned int z_order)
|
||||
|
||||
if (z_order == m_max_zorder)
|
||||
{
|
||||
return ((unsigned short*)m_fb)[y * m_width + x];
|
||||
return ((unsigned int*)m_fb)[y * m_width + x];
|
||||
}
|
||||
|
||||
return ((unsigned short*)(m_frame_layers[z_order].fb))[y * m_width + x];
|
||||
return ((unsigned int*)(m_frame_layers[z_order].fb))[y * m_width + x];
|
||||
}
|
||||
|
||||
void c_surface::draw_hline(int x0, int x1, int y, unsigned int rgb, unsigned int z_order)
|
||||
@ -277,55 +304,6 @@ void c_surface::draw_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsi
|
||||
draw_vline(x1, y0, y1, rgb, z_order);
|
||||
}
|
||||
|
||||
void c_surface::fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order)
|
||||
{
|
||||
if (z_order == m_max_zorder)
|
||||
{
|
||||
return do_quick_fill_rect(x0, y0, x1, y1, rgb);
|
||||
}
|
||||
|
||||
if(z_order == m_top_zorder)
|
||||
{
|
||||
int x,y;
|
||||
short *mem_fb;
|
||||
for(y = y0; y <= y1; y++)
|
||||
{
|
||||
x = x0;
|
||||
mem_fb = &((short*)m_frame_layers[z_order].fb)[y * m_width + x];
|
||||
for(; x <= x1; x++)
|
||||
{
|
||||
*mem_fb++ = rgb;
|
||||
}
|
||||
}
|
||||
return do_quick_fill_rect(x0, y0, x1, y1, rgb);
|
||||
}
|
||||
|
||||
for (; y0 <= y1; y0++)
|
||||
{
|
||||
draw_hline(x0, x1, y0, rgb, z_order);
|
||||
}
|
||||
}
|
||||
|
||||
int c_surface::copy_layer_pixel_2_fb(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);
|
||||
return 0;
|
||||
}
|
||||
|
||||
char* des_addr,* src_addr;
|
||||
|
||||
short rgb = ((short*)(m_frame_layers[z_order].fb))[x + y * m_width];
|
||||
((short*)m_fb)[y * m_width + x] = rgb;
|
||||
if(m_is_active)
|
||||
{
|
||||
((short*)m_phy_fb)[y * m_width + x] = rgb;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int c_surface::set_frame_layer(c_rect& rect, unsigned int z_order)
|
||||
{
|
||||
if (z_order <= Z_ORDER_LEVEL_0 || z_order >= Z_ORDER_LEVEL_MAX)
|
||||
@ -363,6 +341,39 @@ int c_surface::set_frame_layer(c_rect& rect, unsigned int z_order)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int c_surface::copy_layer_pixel_2_fb(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);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int display_width = m_display->get_width();
|
||||
int display_height = m_display->get_height();
|
||||
|
||||
if (m_color_bytes == 4)
|
||||
{
|
||||
unsigned int rgb = ((unsigned int*)(m_frame_layers[z_order].fb))[x + y * m_width];
|
||||
((unsigned int*)m_fb)[y * m_width + x] = rgb;
|
||||
if (m_is_active && (x < display_width) && (y < display_height))
|
||||
{
|
||||
((unsigned int*)m_phy_fb)[y * display_width + x] = rgb;
|
||||
}
|
||||
}
|
||||
else//16 bits
|
||||
{
|
||||
short rgb = ((short*)(m_frame_layers[z_order].fb))[x + y * m_width];
|
||||
((short*)m_fb)[y * m_width + x] = rgb;
|
||||
if (m_is_active && (x < display_width) && (y < display_height))
|
||||
{
|
||||
((short*)m_phy_fb)[y * display_width + x] = rgb;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void c_surface::draw_custom_shape(int l, int t, int r, int b, unsigned int color, const CUSTOM_SHAPE pRgn[], int z_order)
|
||||
{
|
||||
int i = 0;
|
||||
@ -395,39 +406,30 @@ void c_surface::draw_custom_shape(int l, int t, int r, int b, unsigned int color
|
||||
|
||||
int c_surface::flush_scrren(int left, int top, int right, int bottom)
|
||||
{
|
||||
if(left < 0 || left >= m_width)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
if(right < 0 || right >= m_width)
|
||||
if(left < 0 || left >= m_width || right < 0 || right >= m_width ||
|
||||
top < 0 || top >= m_height || bottom < 0 || bottom >= m_height)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
if(top < 0 || top >= m_height)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
if(bottom < 0 || bottom >= m_height)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
|
||||
if(!m_is_active)
|
||||
if(!m_is_active || (0 == m_phy_fb) || (0 == m_fb))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if((0 == m_phy_fb) || (0 == m_fb))
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
|
||||
int display_width = m_display->get_width();
|
||||
int display_height = m_display->get_height();
|
||||
|
||||
left = (left >= display_width) ? (display_width - 1) : left;
|
||||
right = (right >= display_width) ? (display_width - 1) : right;
|
||||
top = (top >= display_height) ? (display_height - 1) : top;
|
||||
bottom = (bottom >= display_height) ? (display_height - 1) : bottom;
|
||||
|
||||
for (int y = top; y < bottom; y++)
|
||||
{
|
||||
void* s_addr = (char*)m_fb + ((y * m_width + left) * 2);
|
||||
void* d_addr = (char*)m_phy_fb + ((y * m_width + left) * 2);
|
||||
memcpy(d_addr, s_addr, (right - left) * 2);
|
||||
void* s_addr = (char*)m_fb + ((y * m_width + left) * m_color_bytes);
|
||||
void* d_addr = (char*)m_phy_fb + ((y * display_width + left) * m_color_bytes);
|
||||
memcpy(d_addr, s_addr, (right - left) * m_color_bytes);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -444,4 +446,143 @@ bool c_surface::is_valid(c_rect rect)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
void c_surface_16bits::set_pixel(int x, int y, unsigned int rgb, unsigned int z_order)
|
||||
{
|
||||
if (x >= m_width || y >= m_height || x < 0 || y < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (z_order > m_max_zorder)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (z_order > m_top_zorder)
|
||||
{
|
||||
m_top_zorder = (Z_ORDER_LEVEL)z_order;
|
||||
}
|
||||
|
||||
if (0 == m_frame_layers[z_order].rect.PtInRect(x, y))
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
rgb = GLT_RGB_32_to_16(rgb);
|
||||
if (z_order == m_max_zorder)
|
||||
{
|
||||
return set_pixel_on_fb(x, y, rgb);
|
||||
}
|
||||
|
||||
((unsigned short*)(m_frame_layers[z_order].fb))[x + y * m_width] = rgb;
|
||||
|
||||
if (z_order == m_top_zorder)
|
||||
{
|
||||
return set_pixel_on_fb(x, y, rgb);
|
||||
}
|
||||
|
||||
bool is_covered = false;
|
||||
for (int tmp_z_order = Z_ORDER_LEVEL_MAX - 1; tmp_z_order > z_order; tmp_z_order--)
|
||||
{
|
||||
if (1 == m_frame_layers[tmp_z_order].rect.PtInRect(x, y))
|
||||
{
|
||||
is_covered = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_covered)
|
||||
{
|
||||
set_pixel_on_fb(x, y, rgb);
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface_16bits::set_pixel_on_fb(int x, int y, unsigned int rgb)
|
||||
{
|
||||
((unsigned short*)m_fb)[y * m_width + x] = rgb;
|
||||
|
||||
int display_width = m_display->get_width();
|
||||
int display_height = m_display->get_height();
|
||||
if (m_is_active && (x < display_width) && (y < display_height))
|
||||
{
|
||||
((unsigned short*)m_phy_fb)[y * (m_display->get_width()) + x] = rgb;
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface_16bits::fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order)
|
||||
{
|
||||
rgb = GLT_RGB_32_to_16(rgb);
|
||||
if (z_order == m_max_zorder)
|
||||
{
|
||||
return fill_rect_on_fb(x0, y0, x1, y1, rgb);
|
||||
}
|
||||
if (z_order == m_top_zorder)
|
||||
{
|
||||
int x, y;
|
||||
unsigned short *mem_fb;
|
||||
for (y = y0; y <= y1; y++)
|
||||
{
|
||||
x = x0;
|
||||
mem_fb = &((unsigned short*)m_frame_layers[z_order].fb)[y * m_width + x];
|
||||
for (; x <= x1; x++)
|
||||
{
|
||||
*mem_fb++ = rgb;
|
||||
}
|
||||
}
|
||||
return fill_rect_on_fb(x0, y0, x1, y1, rgb);
|
||||
}
|
||||
|
||||
for (; y0 <= y1; y0++)
|
||||
{
|
||||
draw_hline(x0, x1, y0, rgb, z_order);
|
||||
}
|
||||
}
|
||||
|
||||
void c_surface_16bits::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);
|
||||
}
|
||||
|
||||
int x;
|
||||
unsigned short *fb, *phy_fb;
|
||||
int display_width = m_display->get_width();
|
||||
int display_height = m_display->get_height();
|
||||
for (; y0 <= y1; y0++)
|
||||
{
|
||||
x = x0;
|
||||
fb = &((unsigned short*)m_fb)[y0 * m_width + x];
|
||||
phy_fb = &((unsigned short*)m_phy_fb)[y0 * display_width + x];
|
||||
for (; x <= x1; x++)
|
||||
{
|
||||
*fb++ = rgb;
|
||||
if (m_is_active && (x < display_width) && (y0 < display_height))
|
||||
{
|
||||
*phy_fb++ = rgb;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int c_surface_16bits::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);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (z_order == m_max_zorder)
|
||||
{
|
||||
return GLT_RGB_16_to_32(((unsigned short*)m_fb)[y * m_width + x]);
|
||||
}
|
||||
|
||||
return GLT_RGB_16_to_32(((unsigned short*)(m_frame_layers[z_order].fb))[y * m_width + x]);
|
||||
}
|
@ -48,7 +48,7 @@ void c_wave_ctrl::on_init_children()
|
||||
m_wave_bottom = rect.m_bottom - 4;
|
||||
m_wave_cursor = m_wave_left;
|
||||
|
||||
m_bg_fb = calloc(rect.Width() * rect.Height() * 2, 1);
|
||||
m_bg_fb = calloc(rect.Width() * rect.Height(), 2);
|
||||
}
|
||||
|
||||
void c_wave_ctrl::set_max_min_base(short max_data, short min_data, short data_base)
|
||||
|
@ -2,7 +2,9 @@ cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
PROJECT(Gui)
|
||||
|
||||
INCLUDE_DIRECTORIES(core_include
|
||||
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/..)
|
||||
|
||||
INCLUDE_DIRECTORIES(../core
|
||||
gui_include)
|
||||
|
||||
FILE(GLOB SRC src/*.cpp)
|
||||
|
@ -1,45 +0,0 @@
|
||||
#ifndef _API_H_
|
||||
#define _API_H_
|
||||
|
||||
#define REAL_TIME_TASK_CYCLE_MS 50
|
||||
#define XXX -999
|
||||
#define NULL 0
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
void do_assert(const char* file, int line);
|
||||
#define ASSERT(condition) \
|
||||
do{ \
|
||||
if(!(condition))do_assert(__FILE__, __LINE__);\
|
||||
}while(0)
|
||||
|
||||
void log_out(const char* log);
|
||||
|
||||
unsigned int GLT_RGB(unsigned char r, unsigned char g, unsigned char b);
|
||||
unsigned char GLT_RGB_R(unsigned int color);
|
||||
unsigned char GLT_RGB_G(unsigned int color);
|
||||
unsigned char GLT_RGB_B(unsigned int color);
|
||||
|
||||
typedef struct _T_TIME
|
||||
{
|
||||
unsigned short year;
|
||||
unsigned short month;
|
||||
unsigned short date;
|
||||
unsigned short day;
|
||||
unsigned short hour;
|
||||
unsigned short minute;
|
||||
unsigned short second;
|
||||
}T_TIME;
|
||||
|
||||
long get_time_in_second();
|
||||
T_TIME second_to_day(long second);
|
||||
T_TIME get_time();
|
||||
|
||||
void start_real_timer(void (*func)(void* arg));
|
||||
void register_timer(int milli_second, void func(void* ptmr, void* parg));
|
||||
|
||||
unsigned int get_cur_thread_id();
|
||||
void create_thread(unsigned long* thread_id, void* attr, void *(*start_routine) (void *), void* arg);
|
||||
void thread_sleep(unsigned int milli_seconds);
|
||||
int build_bmp(char *filename, unsigned int width, unsigned int height, unsigned char *data);
|
||||
#endif
|
@ -1,19 +0,0 @@
|
||||
#ifndef __AUDIO_MANGE_H__
|
||||
#define __AUDIO_MANGE_H__
|
||||
|
||||
enum AUDIO_TYPE
|
||||
{
|
||||
AUDIO_HEART_BEAT,
|
||||
AUDIO_ALARM,
|
||||
AUDIO_MAX
|
||||
};
|
||||
|
||||
class c_audio
|
||||
{
|
||||
public:
|
||||
static int play(AUDIO_TYPE type);
|
||||
private:
|
||||
static void init();
|
||||
};
|
||||
|
||||
#endif
|
@ -1,21 +0,0 @@
|
||||
#ifndef _BITMAP_UNIT_H_
|
||||
#define _BITMAP_UNIT_H_
|
||||
|
||||
class c_surface;
|
||||
class c_bitmap
|
||||
{
|
||||
public:
|
||||
static void draw_bitmap(c_surface* surface, int z_order, const GUI_BITMAP *pBitmap, int x, int y);
|
||||
static void draw_bitmap_in_rect(c_surface* surface, int z_order, const GUI_BITMAP *pBitmap, c_rect rect, unsigned int align_type);
|
||||
private:
|
||||
static void draw_bitmap_565(c_surface* surface, int z_order, int x, int y, int xsize, int ysize, const unsigned char* pPixel);
|
||||
static void get_bitmap_pos(const GUI_BITMAP *pBitmap, c_rect rect, unsigned int align_type, int &x, int &y);
|
||||
static void draw_bitmap_565_inrect(c_surface* surface, int z_order, int x, int y, int width, int height, int xsize, int ysize, const unsigned char* pPixel);
|
||||
|
||||
c_bitmap(){}
|
||||
c_bitmap(const c_bitmap&);
|
||||
c_bitmap& operator=(const c_bitmap&);
|
||||
~c_bitmap(){}
|
||||
};
|
||||
|
||||
#endif
|
@ -1,81 +0,0 @@
|
||||
#ifndef CMD_TARGET_H
|
||||
#define CMD_TARGET_H
|
||||
|
||||
class c_cmd_target;
|
||||
|
||||
#define MSG_TYPE_INVALID 0xFFFF
|
||||
#define MSG_TYPE_WND 0x0001
|
||||
#define MSG_TYPE_USR 0x0002
|
||||
#define USR_MSG_MAX 1024
|
||||
|
||||
typedef void (c_cmd_target::*MsgFuncVV)();
|
||||
|
||||
enum MSG_CALLBACK_TYPE
|
||||
{
|
||||
MSG_CALLBACK_NULL = 0,
|
||||
MSG_CALLBACK_VV,
|
||||
MSG_CALLBACK_IWL,
|
||||
MSG_CALLBACK_IWV,
|
||||
MSG_CALLBACK_VWV,
|
||||
MSG_CALLBACK_VVL,
|
||||
MSG_CALLBACK_VWL,
|
||||
MSG_CALLBACK_IVV
|
||||
};
|
||||
|
||||
typedef union
|
||||
{
|
||||
void (c_cmd_target::*func)();
|
||||
void (c_cmd_target::*func_vwv)(unsigned int w_param);
|
||||
int (c_cmd_target::*func_iwl)(unsigned int w_param, long l_param);
|
||||
int (c_cmd_target::*func_iwv)(unsigned int w_param);
|
||||
void (c_cmd_target::*func_vvl)(long l_param);
|
||||
void (c_cmd_target::*func_vwl)(unsigned int w_param, long l_param);
|
||||
int (c_cmd_target::*func_ivv)();
|
||||
}MSGFUNCS;
|
||||
|
||||
struct GLT_MSG_ENTRY
|
||||
{
|
||||
unsigned int msgType;
|
||||
unsigned int msgId;
|
||||
c_cmd_target* pObject;
|
||||
MSG_CALLBACK_TYPE callbackType;
|
||||
MsgFuncVV func;
|
||||
};
|
||||
|
||||
#define ON_GLT_USER_MSG(msgId, func) \
|
||||
{MSG_TYPE_USR, msgId, 0, MSG_CALLBACK_VWL, (MsgFuncVV)(static_cast<void (c_cmd_target::*)(unsigned int, unsigned int)>(&func))},
|
||||
|
||||
#define GLT_DECLARE_MESSAGE_MAP() \
|
||||
protected: \
|
||||
virtual const GLT_MSG_ENTRY* GetMSgEntries() const; \
|
||||
private: \
|
||||
static const GLT_MSG_ENTRY mMsgEntries[];
|
||||
|
||||
#define GLT_BEGIN_MESSAGE_MAP(theClass) \
|
||||
const GLT_MSG_ENTRY* theClass::GetMSgEntries() const \
|
||||
{ \
|
||||
return theClass::mMsgEntries; \
|
||||
} \
|
||||
const GLT_MSG_ENTRY theClass::mMsgEntries[] = \
|
||||
{
|
||||
|
||||
#define GLT_END_MESSAGE_MAP() \
|
||||
{MSG_TYPE_INVALID, 0, (c_cmd_target*)0, MSG_CALLBACK_NULL, (MsgFuncVV)0}};
|
||||
|
||||
class c_cmd_target
|
||||
{
|
||||
public:
|
||||
c_cmd_target();
|
||||
virtual ~c_cmd_target();
|
||||
static int handle_usr_msg(unsigned int msgId, unsigned int wParam, unsigned int lParam);
|
||||
protected:
|
||||
void load_cmd_msg();
|
||||
const GLT_MSG_ENTRY* FindMsgEntry(const GLT_MSG_ENTRY *pEntry,
|
||||
unsigned int msgType, unsigned short msgId, unsigned short ctrlId);
|
||||
private:
|
||||
static GLT_MSG_ENTRY ms_usr_map_entries[USR_MSG_MAX];
|
||||
static unsigned short ms_user_map_size;
|
||||
GLT_DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
#endif
|
@ -1,31 +0,0 @@
|
||||
#ifndef _DISPLAY_H_
|
||||
#define _DISPLAY_H_
|
||||
|
||||
#define MAX_DISPLAY 9
|
||||
#define SURFACE_CNT_MAX 6//root + pages
|
||||
|
||||
class c_hid_pipe;
|
||||
class c_surface;
|
||||
|
||||
class c_display {
|
||||
public:
|
||||
c_display(void* phy_fb, unsigned int width, unsigned int height, unsigned int slides_cnt);
|
||||
c_surface* create_surface(void* usr, Z_ORDER_LEVEL max_zorder);
|
||||
int merge_surface(c_surface* s1, c_surface* s2, int x1, int x2, int y1, int y2, int offset);
|
||||
c_hid_pipe* get_hid_pipe() { return m_hid_pipe; }
|
||||
unsigned int get_width() { return m_width; }
|
||||
unsigned int get_height() { return m_height; }
|
||||
|
||||
static void* get_frame_buffer(unsigned int display_id, int* width, int* height);
|
||||
static int snap_shot(unsigned int display_id);
|
||||
private:
|
||||
unsigned int m_width; //in pixels
|
||||
unsigned int m_height; //in pixels
|
||||
void* m_phy_fb;
|
||||
c_hid_pipe* m_hid_pipe;
|
||||
c_surface* m_surface_group[SURFACE_CNT_MAX];
|
||||
unsigned int m_surface_cnt;
|
||||
|
||||
static c_display* ms_displays[MAX_DISPLAY];
|
||||
};
|
||||
#endif
|
@ -1,46 +0,0 @@
|
||||
#ifndef _MSG_H
|
||||
#define _MSG_H
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int dwMsgId;
|
||||
unsigned int dwParam1;
|
||||
unsigned int dwParam2;
|
||||
}MSG_INFO;
|
||||
|
||||
int read_usr_msg(MSG_INFO* msg);
|
||||
int write_usr_msg(MSG_INFO* msg);
|
||||
|
||||
#define FIFO_BUFFER_LEN 1024
|
||||
#define FIFO_NAME_LEN 16
|
||||
class c_fifo
|
||||
{
|
||||
public:
|
||||
c_fifo(const char* name);
|
||||
int read(void* buf, int len);
|
||||
int write(void* buf, int len);
|
||||
|
||||
private:
|
||||
unsigned char m_buf[FIFO_BUFFER_LEN];
|
||||
char m_name[FIFO_NAME_LEN];
|
||||
int m_head;
|
||||
int m_tail;
|
||||
void* m_read_sem;
|
||||
void* m_write_mutex;
|
||||
};
|
||||
|
||||
#define MAX_HID_PIPES 9
|
||||
class c_hid_pipe
|
||||
{
|
||||
public:
|
||||
c_hid_pipe(void* id);
|
||||
|
||||
static int read_hid_msg();
|
||||
static int write_hid_msg(MSG_INFO* msg, unsigned int display_id = 0);
|
||||
MSG_INFO m_msg;
|
||||
int m_fd;
|
||||
private:
|
||||
static c_hid_pipe* ms_pipes[MAX_HID_PIPES];
|
||||
static int ms_max_fd;
|
||||
};
|
||||
#endif
|
@ -1,37 +0,0 @@
|
||||
#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:
|
||||
c_rect(){Empty();}
|
||||
c_rect(int left, int top, int right, int bottom){m_left = left;m_top = top;m_right = right;m_bottom = bottom;};
|
||||
void SetRect( int left, int top, int right, int bottom);
|
||||
c_rect(const c_rect&);
|
||||
c_rect& operator=(const c_rect&);
|
||||
void Empty();
|
||||
void Offset(int x, int y);
|
||||
int IsEmpty() const ;
|
||||
int PtInRect(int x, int y) const ;
|
||||
int operator==(const c_rect& ) const;
|
||||
c_rect operator&(const c_rect& aRect) const;
|
||||
int Width() const {return m_right - m_left + 1;}
|
||||
int Height() const {return m_bottom - m_top + 1;}
|
||||
|
||||
int m_left;
|
||||
int m_top;
|
||||
int m_right;
|
||||
int m_bottom;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,72 +0,0 @@
|
||||
#ifndef _RESOURCE_TYPE_H_
|
||||
#define _RESOURCE_TYPE_H_
|
||||
|
||||
typedef struct struct_gui_bitmap
|
||||
{
|
||||
unsigned short XSize;
|
||||
unsigned short YSize;
|
||||
unsigned short BytesPerLine;
|
||||
unsigned short BitsPerPixel;
|
||||
const unsigned char* pData; /* Pointer to picture data (indices) */
|
||||
} GUI_BITMAP;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char XSize;
|
||||
unsigned char XDist;
|
||||
unsigned char BytesPerLine;
|
||||
void* pData;
|
||||
} GUI_CHARINFO;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned short First; /* first character */
|
||||
unsigned short Last; /* last character */
|
||||
const GUI_CHARINFO* paCharInfo; /* address of first character */
|
||||
void* pNext; /* pointer to next */
|
||||
} GUI_FONT_PROP;
|
||||
|
||||
typedef struct struct_gui_font
|
||||
{
|
||||
unsigned char YSize;
|
||||
unsigned char YDist;
|
||||
unsigned char XMag;
|
||||
unsigned char YMag;
|
||||
union
|
||||
{
|
||||
void *pFontData;
|
||||
const GUI_FONT_PROP* pProp;
|
||||
} p;
|
||||
unsigned char Baseline;
|
||||
} GUI_FONT;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
LANGUAGE_BEGIN = 0,
|
||||
ENGLISH = LANGUAGE_BEGIN,
|
||||
CHINESE,
|
||||
LANGUAGE_MAX
|
||||
}LANGUAGE_TYPE;
|
||||
|
||||
typedef struct struct_multi_lan_strings
|
||||
{
|
||||
unsigned int index;
|
||||
const char* text[LANGUAGE_MAX];
|
||||
}MULTI_LAN_STRINGS;
|
||||
|
||||
typedef struct struct_unicode_lan_strings
|
||||
{
|
||||
unsigned int index;
|
||||
const char* unicodes;
|
||||
}MULTI_LAN_UNICODES;
|
||||
|
||||
#define ADD_STRING( index, english) \
|
||||
{ \
|
||||
index, \
|
||||
{ \
|
||||
english, \
|
||||
0 \
|
||||
} \
|
||||
}
|
||||
|
||||
#endif
|
@ -1,71 +0,0 @@
|
||||
#ifndef _GAL_H_
|
||||
#define _GAL_H_
|
||||
|
||||
struct FRAME_LAYER
|
||||
{
|
||||
void* fb;
|
||||
c_rect rect;
|
||||
};
|
||||
|
||||
typedef enum
|
||||
{
|
||||
Z_ORDER_LEVEL_0,//view/wave/page
|
||||
Z_ORDER_LEVEL_1,//dialog
|
||||
Z_ORDER_LEVEL_2,//editbox/spinbox/listbox/keyboard
|
||||
Z_ORDER_LEVEL_MAX
|
||||
}Z_ORDER_LEVEL;
|
||||
|
||||
#define INVALID_RGN 0xFFFFFF
|
||||
#define COLOR_USERDEF GLT_RGB(41,49,49)
|
||||
#define DUMMY_COLOR GLT_RGB(0,0,0)
|
||||
|
||||
typedef struct struct_custom_shape
|
||||
{
|
||||
int l;
|
||||
int t;
|
||||
int r;
|
||||
int b;
|
||||
unsigned int color;
|
||||
}CUSTOM_SHAPE;
|
||||
|
||||
class c_display;
|
||||
class c_surface {
|
||||
friend class c_display;
|
||||
public:
|
||||
c_surface(c_display* display, void* phy_fb, unsigned int width, unsigned int height);
|
||||
|
||||
void set_pixel(int x, int y, unsigned int rgb, unsigned int z_order);
|
||||
unsigned int get_pixel(int x, int y, unsigned int z_order);
|
||||
void draw_hline(int x0, int x1, int y, unsigned int rgb, unsigned int z_order);
|
||||
void draw_vline(int x, int y0, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void draw_line(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void draw_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int z_order);
|
||||
void draw_custom_shape(int l, int t, int r, int b, unsigned int color, const CUSTOM_SHAPE pRgn[], int z_order);
|
||||
int flush_scrren(int left, int top, int right, int bottom);
|
||||
|
||||
bool is_valid(c_rect rect);
|
||||
bool is_active() { return m_is_active; }
|
||||
c_display* get_display() { return m_display; }
|
||||
|
||||
int set_frame_layer(c_rect& rect, unsigned int z_order);
|
||||
void set_active(bool flag){m_is_active = flag;}
|
||||
private:
|
||||
void set_surface(void* wnd_root, Z_ORDER_LEVEL max_z_order);
|
||||
int copy_layer_pixel_2_fb(int x, int y, unsigned int z_order);
|
||||
void do_quick_set_pixel(int x,int y,unsigned int rgb);
|
||||
void do_quick_fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb);
|
||||
|
||||
unsigned int m_width; //in pixels
|
||||
unsigned int m_height; //in pixels
|
||||
void* m_fb;
|
||||
struct FRAME_LAYER m_frame_layers[Z_ORDER_LEVEL_MAX];
|
||||
void* m_usr;
|
||||
bool m_is_active;
|
||||
Z_ORDER_LEVEL m_max_zorder;
|
||||
Z_ORDER_LEVEL m_top_zorder;
|
||||
void* m_phy_fb;
|
||||
c_display* m_display;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,35 +0,0 @@
|
||||
#ifndef _XT_GUI_WAVE_H_
|
||||
#define _XT_GUI_WAVE_H_
|
||||
|
||||
#define WAVE_BUFFER_LEN 64
|
||||
#define WAVE_FRAME_LEN 8
|
||||
#define BUFFER_EMPTY -1111
|
||||
#define BUFFER_FULL -2222;
|
||||
class c_wave_buffer
|
||||
{
|
||||
public:
|
||||
c_wave_buffer();
|
||||
int write_wave_data(short data);
|
||||
int read_wave_data_by_frame(short &max, short &min, short len, unsigned int seq);
|
||||
void reset();
|
||||
void clear_data();
|
||||
short get_cnt();
|
||||
private:
|
||||
int read_data();
|
||||
short m_wave_buf[WAVE_BUFFER_LEN];
|
||||
short m_head;
|
||||
short m_tail;
|
||||
|
||||
int m_min_old;
|
||||
int m_max_old;
|
||||
int m_min_older;
|
||||
int m_max_older;
|
||||
int m_last_data;
|
||||
|
||||
short m_fb_min[WAVE_FRAME_LEN];
|
||||
short m_fb_mid[WAVE_FRAME_LEN];
|
||||
short m_fb_max[WAVE_FRAME_LEN];
|
||||
unsigned int m_refresh_sqence;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,85 +0,0 @@
|
||||
#ifndef _WAVE_CTRL_H_
|
||||
#define _WAVE_CTRL_H_
|
||||
|
||||
typedef enum
|
||||
{
|
||||
FILL_MODE,
|
||||
SCAN_MODE
|
||||
}E_WAVE_DRAW_MODE;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GAIN_025,
|
||||
GAIN_050,
|
||||
GAIN_100,
|
||||
GAIN_200
|
||||
}E_WAVE_GAIN;
|
||||
|
||||
class c_wave_buffer;
|
||||
class c_wave_ctrl : public c_wnd
|
||||
{
|
||||
public:
|
||||
c_wave_ctrl();
|
||||
virtual c_wnd* clone(){return new c_wave_ctrl();}
|
||||
virtual void on_init_children();
|
||||
virtual void on_paint();
|
||||
|
||||
void set_wave_name(unsigned short wave_name_id){ m_wave_name = wave_name_id;}
|
||||
unsigned short get_wave_name(){return m_wave_name;}
|
||||
void set_wave_unit(unsigned short wave_unit_id){ m_wave_unit = wave_unit_id;}
|
||||
|
||||
void set_wave_name_font_type(const GUI_FONT* wave_name_font_type){ m_wave_name_font_type = wave_name_font_type;}
|
||||
void set_wave_unit_font_type(const GUI_FONT* wave_unit_font_type){ m_wave_unit_font_type = wave_unit_font_type;}
|
||||
|
||||
void set_wave_name_color(unsigned int wave_name_color){ m_wave_name_color = wave_name_color;}
|
||||
void set_wave_unit_color(unsigned int wave_unit_color){ m_wave_unit_color = wave_unit_color;}
|
||||
void set_wave_color(unsigned int color){ m_wave_color = color;}
|
||||
void set_wave_sample_rate(unsigned int rate);//speed = module sample rate
|
||||
void set_wave_speed(unsigned int speed);
|
||||
|
||||
void set_max_min_base(short max_data, short min_data, short data_base);
|
||||
void set_wave_gain(E_WAVE_GAIN gain);
|
||||
void set_wave(c_wave_buffer* wave){m_wave = wave;}
|
||||
c_wave_buffer* get_wave(){return m_wave;}
|
||||
void clear_data();
|
||||
bool is_data_enough();
|
||||
void refresh_wave(unsigned char frame);
|
||||
void clear_wave();
|
||||
|
||||
protected:
|
||||
void draw_smooth_vline(int y_min, int y_max, int mid, unsigned int rgb);
|
||||
void erase_oldest_vline();
|
||||
void save_foreground();
|
||||
|
||||
unsigned short m_wave_name;
|
||||
unsigned short m_wave_unit;
|
||||
|
||||
const GUI_FONT* m_wave_name_font_type;
|
||||
const GUI_FONT* m_wave_unit_font_type;
|
||||
|
||||
unsigned int m_wave_name_color;
|
||||
unsigned int m_wave_unit_color;
|
||||
|
||||
unsigned int m_wave_color;
|
||||
unsigned int m_back_color;
|
||||
|
||||
int m_wave_left;
|
||||
int m_wave_right;
|
||||
int m_wave_top;
|
||||
int m_wave_bottom;
|
||||
|
||||
short m_max_data;
|
||||
short m_min_data;
|
||||
short m_pivot_data; //for wave gain and fill mode
|
||||
E_WAVE_GAIN m_gain; //wave gain
|
||||
|
||||
private:
|
||||
c_wave_buffer* m_wave;
|
||||
void* m_bg_fb; //background frame buffer, could be used to draw scale line.
|
||||
int m_wave_cursor;
|
||||
int m_wave_speed; //pixels per refresh
|
||||
int m_wave_sample_rate;
|
||||
unsigned char m_frame_len_map[64];
|
||||
unsigned char m_frame_len_map_index;
|
||||
};
|
||||
#endif
|
@ -1,168 +0,0 @@
|
||||
#ifndef XT_GUI_WND_H
|
||||
#define XT_GUI_WND_H
|
||||
|
||||
//Window attribution
|
||||
#define GLT_WIN_SHOW 0x00000001
|
||||
#define GLT_WIN_HIDE 0x00000002
|
||||
|
||||
#define GLT_ATTR_VISIBLE 0x80000000L
|
||||
#define GLT_ATTR_DISABLED 0x40000000L
|
||||
#define GLT_ATTR_FOCUS 0x20000000L
|
||||
|
||||
typedef struct struct_gui_bitmap GUI_BITMAP;
|
||||
typedef struct struct_gui_font GUI_FONT;
|
||||
typedef struct struct_custom_shape CUSTOM_SHAPE;
|
||||
typedef const GUI_FONT* (*PTR_FUNC_GET_FONT)();
|
||||
|
||||
class c_wnd;
|
||||
class c_surface;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
STATUS_NORMAL,
|
||||
STATUS_PUSHED,
|
||||
STATUS_FOCUSED,
|
||||
STATUS_DISABLED
|
||||
}WND_STATUS;
|
||||
|
||||
typedef struct struct_wnd_tree
|
||||
{
|
||||
c_wnd* p_wnd;
|
||||
unsigned int resource_id;
|
||||
unsigned int caption_id;
|
||||
short x;
|
||||
short y;
|
||||
short width;
|
||||
short height;
|
||||
struct struct_wnd_tree* p_child_tree;
|
||||
}WND_TREE;
|
||||
|
||||
class c_wnd : public c_cmd_target
|
||||
{
|
||||
friend class c_dialog;
|
||||
public:
|
||||
c_wnd();
|
||||
virtual ~c_wnd();
|
||||
virtual const char* get_class_name() const { return "c_wnd"; }
|
||||
virtual int connect(c_wnd *parent, unsigned short resource_id, unsigned short str_id,
|
||||
short x, short y, short width, short height, WND_TREE* p_child_tree = NULL);
|
||||
virtual c_wnd* connect_clone(c_wnd *parent, unsigned short resource_id, unsigned short str_id,
|
||||
short x, short y, short width, short height, WND_TREE* p_child_tree = NULL);
|
||||
void disconnect();
|
||||
virtual c_wnd* clone() = 0;
|
||||
virtual void on_init_children() {}
|
||||
virtual void on_paint() {}
|
||||
void show_window(int show_type = GLT_WIN_SHOW);
|
||||
|
||||
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; }
|
||||
virtual void modify_style(unsigned int add_style = 0, unsigned int remove_style = 0);
|
||||
|
||||
void set_str_id(unsigned short str_id) { m_str_id = str_id; }
|
||||
unsigned short get_str_id() const { return m_str_id; }
|
||||
|
||||
void set_bitmap(const GUI_BITMAP *pBitmap) { m_bitmap = pBitmap; }
|
||||
void set_focus_bitmap(const GUI_BITMAP *pBitmap) { m_bitmap_focus = pBitmap; }
|
||||
void set_pushed_bitmap(const GUI_BITMAP *pBitmap) { m_bitmap_pushed = pBitmap; }
|
||||
void set_disable_bitmap(const GUI_BITMAP *pBitmap) { m_bitmap_disable = pBitmap; }
|
||||
|
||||
bool is_visible() const { return m_is_visible_now; }
|
||||
bool is_foreground();
|
||||
void set_visible(bool visible);
|
||||
virtual void enable_wnd(int enable = TRUE);
|
||||
int is_wnd_enable() const;
|
||||
void enable_focus(int enable = TRUE);
|
||||
int is_focus_wnd() const;
|
||||
const int is_active_wnd() const;
|
||||
|
||||
void set_font_color(unsigned int color) { m_font_color = color; }
|
||||
unsigned int get_font_color() { return m_font_color; }
|
||||
void set_bg_color(unsigned int color) { m_bg_color = color; }
|
||||
unsigned int get_bg_color() { return m_bg_color; }
|
||||
void set_font_type(const GUI_FONT *font_type) { m_font_type = font_type; }
|
||||
const GUI_FONT* get_font_type() { return m_font_type; }
|
||||
|
||||
void set_wnd_pos(short x, short y, short width, short height);
|
||||
void get_wnd_rect(c_rect &rect) const;
|
||||
void get_screen_rect(c_rect &rect) const;
|
||||
|
||||
c_wnd* set_focus(c_wnd *new_active_child);
|
||||
|
||||
c_wnd* get_parent() const { return m_parent; }
|
||||
c_wnd* get_last_child() const;
|
||||
int unlink_child(c_wnd *child);
|
||||
c_wnd* get_prev_sibling() const { return m_prev_sibling; }
|
||||
c_wnd* get_next_sibling() const { return m_next_sibling; }
|
||||
|
||||
void notify_parent(unsigned short msg_id, unsigned int w_param, long l_param);
|
||||
virtual int on_notify(unsigned short notify_code, unsigned short ctrl_id, long l_param);
|
||||
|
||||
virtual void on_touch_up(int x, int y);
|
||||
virtual void on_touch_down(int x, int y);
|
||||
|
||||
c_wnd* get_active_child() const { return m_active_child; }
|
||||
|
||||
void modify_status(WND_STATUS status) { m_status = status; }
|
||||
WND_STATUS get_status() { return m_status; }
|
||||
|
||||
c_surface* get_surface() { return m_surface; }
|
||||
void set_surface(c_surface* gal) { m_surface = gal; }
|
||||
protected:
|
||||
virtual void pre_create_wnd();
|
||||
virtual void display_window();
|
||||
void hide_widow();
|
||||
void add_child_2_head(c_wnd *child);
|
||||
void add_child_2_tail(c_wnd *child);
|
||||
|
||||
void wnd2screen(int &x, int &y) const;
|
||||
void wnd2screen(c_rect &rect) const;
|
||||
void screen2wnd(short &x, short &y) const;
|
||||
void screen2wnd(c_rect &rect) const;
|
||||
|
||||
int load_child_wnd(WND_TREE *p_child_tree);
|
||||
int load_clone_child_wnd(WND_TREE *p_child_tree);
|
||||
void set_active_child(c_wnd* child) { m_active_child = child; }
|
||||
|
||||
virtual void on_focus();
|
||||
virtual void on_kill_focus();
|
||||
|
||||
void set_pixel(int x, int y, unsigned int rgb);
|
||||
void draw_hline(int x0, int x1, int y, unsigned int rgb);
|
||||
void draw_vline(int x, int y0, int y1, unsigned int rgb);
|
||||
void draw_line(int x0, int y0, int x1, int y1, unsigned int rgb);
|
||||
void draw_rect(int x0, int y0, int x1, int y1, unsigned int rgb);
|
||||
void draw_rect(c_rect rect, unsigned int rgb);
|
||||
void fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb);
|
||||
void fill_rect(c_rect rect, unsigned int rgb);
|
||||
void draw_custom_shape(int l, int t, int r, int b, unsigned int color, const CUSTOM_SHAPE pRgn[]);
|
||||
protected:
|
||||
WND_STATUS m_status;
|
||||
unsigned int m_style;
|
||||
c_rect m_wnd_rect;//position relative to parent wnd.
|
||||
c_wnd* m_parent;
|
||||
c_wnd* m_top_child;
|
||||
c_wnd* m_prev_sibling;
|
||||
c_wnd* m_next_sibling;
|
||||
unsigned short m_str_id;
|
||||
|
||||
const GUI_BITMAP* m_bitmap;
|
||||
const GUI_BITMAP* m_bitmap_focus;
|
||||
const GUI_BITMAP* m_bitmap_pushed;
|
||||
const GUI_BITMAP* m_bitmap_disable;
|
||||
const GUI_FONT* m_font_type;
|
||||
unsigned int m_font_color;
|
||||
unsigned int m_bg_color;
|
||||
|
||||
bool m_is_visible_now;
|
||||
unsigned short m_resource_id;
|
||||
|
||||
int m_z_order;
|
||||
c_wnd* m_active_child;
|
||||
c_surface* m_surface;
|
||||
private:
|
||||
c_wnd(const c_wnd &win);
|
||||
c_wnd& operator=(const c_wnd &win);
|
||||
};
|
||||
#endif
|
@ -1,44 +0,0 @@
|
||||
#ifndef _WORD_UNIT_H_
|
||||
#define _WORD_UNIT_H_
|
||||
|
||||
#define COLOR_TRANPARENT 0xFF000000
|
||||
|
||||
class c_surface;
|
||||
class c_word
|
||||
{
|
||||
public:
|
||||
static void initiallize(LANGUAGE_TYPE language);
|
||||
static void draw_string(c_surface* surface, int z_order, const char *s, int x, int y, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type = ALIGN_LEFT);
|
||||
static void draw_string(c_surface* surface, int z_order, unsigned long str_id, int x, int y, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type = ALIGN_LEFT);
|
||||
static void draw_string_in_rect(c_surface* surface, int z_order, const char *s, c_rect rect, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type = ALIGN_LEFT);
|
||||
static void draw_string_in_rect(c_surface* surface, int z_order, unsigned long str_id, c_rect rect, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type = ALIGN_LEFT);
|
||||
static void draw_value(c_surface* surface, int z_order, int value, int dot_position, int x, int y, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type = ALIGN_LEFT);
|
||||
static void draw_value_in_rect(c_surface* surface, int z_order, int value, int dot_position, c_rect rect, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color, unsigned int align_type = ALIGN_LEFT);
|
||||
static void value_2_string(int value, int dot_position, char* buf, int len);
|
||||
|
||||
static int get_str_pixel_length(const char *s, const GUI_FONT* font);
|
||||
static const int get_font_ysize(const GUI_FONT* font_type);
|
||||
static const char* get_string(unsigned long str_id);
|
||||
|
||||
private:
|
||||
static int get_char_cnt_in_single_line(const char *s);
|
||||
static void draw_single_line_string(c_surface* surface, int z_order, const char *s, int x, int y, int len, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color);
|
||||
static int draw_single_char(c_surface* surface, int z_order, unsigned short code, int x, int y, const GUI_FONT* font, unsigned int font_color, unsigned int bg_color);
|
||||
static void draw_lattice(c_surface* surface, int z_order, int x, int y, int width, int height, int bytes_per_line, const unsigned char* pData, unsigned int font_color, unsigned int bg_color, unsigned int font_aa_flag);
|
||||
static void draw_bit_line(c_surface* surface, int z_order, int x, int y, unsigned char const*p, int width, unsigned int font_color, unsigned int bg_color);
|
||||
static void draw_bit_line_AA(c_surface* surface, int z_order, int x, int y, unsigned char const*p, int width, unsigned int font_color, unsigned int bg_color);
|
||||
|
||||
static const GUI_FONT_PROP* find_font_prop(const GUI_FONT_PROP* pProp, unsigned short code);
|
||||
static void get_string_pos(const char *s, const GUI_FONT* font, c_rect rect, unsigned int align_type, int &x, int &y);
|
||||
static bool is_AA_font(const GUI_CHARINFO* pCharInfo);
|
||||
|
||||
static const MULTI_LAN_STRINGS *m_lang_map;
|
||||
static LANGUAGE_TYPE m_lang_type;
|
||||
private:
|
||||
c_word(){};
|
||||
c_word(const c_word&);
|
||||
c_word& operator=(const c_word&);
|
||||
~c_word(){}
|
||||
};
|
||||
|
||||
#endif
|
@ -72,10 +72,18 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<IncludePath>..\core;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<IncludePath>..\core;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<IncludePath>..\core;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<IncludePath>..\core;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
@ -148,18 +156,19 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="core_include\api.h" />
|
||||
<ClInclude Include="core_include\audio.h" />
|
||||
<ClInclude Include="core_include\bitmap.h" />
|
||||
<ClInclude Include="core_include\cmd_target.h" />
|
||||
<ClInclude Include="core_include\surface.h" />
|
||||
<ClInclude Include="core_include\msg.h" />
|
||||
<ClInclude Include="core_include\rect.h" />
|
||||
<ClInclude Include="core_include\resource_type.h" />
|
||||
<ClInclude Include="core_include\wave_buffer.h" />
|
||||
<ClInclude Include="core_include\wave_ctrl.h" />
|
||||
<ClInclude Include="core_include\wnd.h" />
|
||||
<ClInclude Include="core_include\word.h" />
|
||||
<ClInclude Include="..\core\core_include\api.h" />
|
||||
<ClInclude Include="..\core\core_include\audio.h" />
|
||||
<ClInclude Include="..\core\core_include\bitmap.h" />
|
||||
<ClInclude Include="..\core\core_include\cmd_target.h" />
|
||||
<ClInclude Include="..\core\core_include\display.h" />
|
||||
<ClInclude Include="..\core\core_include\msg.h" />
|
||||
<ClInclude Include="..\core\core_include\rect.h" />
|
||||
<ClInclude Include="..\core\core_include\resource_type.h" />
|
||||
<ClInclude Include="..\core\core_include\surface.h" />
|
||||
<ClInclude Include="..\core\core_include\wave_buffer.h" />
|
||||
<ClInclude Include="..\core\core_include\wave_ctrl.h" />
|
||||
<ClInclude Include="..\core\core_include\wnd.h" />
|
||||
<ClInclude Include="..\core\core_include\word.h" />
|
||||
<ClInclude Include="gui_include\button.h" />
|
||||
<ClInclude Include="gui_include\dialog.h" />
|
||||
<ClInclude Include="gui_include\edit.h" />
|
||||
|
@ -17,39 +17,6 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="core_include\api.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\audio.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\bitmap.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\cmd_target.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\msg.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\rect.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\resource_type.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\wave_buffer.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\wave_ctrl.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\wnd.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\word.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gui_include\button.h">
|
||||
<Filter>Header Files\gui_include</Filter>
|
||||
</ClInclude>
|
||||
@ -83,12 +50,48 @@
|
||||
<ClInclude Include="gui_include\table.h">
|
||||
<Filter>Header Files\gui_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="core_include\surface.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gui_include\slide_group.h">
|
||||
<Filter>Header Files\gui_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\surface.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\wave_buffer.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\wave_ctrl.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\wnd.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\word.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\api.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\audio.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\bitmap.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\cmd_target.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\display.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\msg.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\rect.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\core\core_include\resource_type.h">
|
||||
<Filter>Header Files\core_include</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\button.cpp">
|
||||
|
@ -3,8 +3,6 @@
|
||||
|
||||
#define MAX_PAGES 5
|
||||
|
||||
#include "../core_include/surface.h"
|
||||
|
||||
class c_slide_group : public c_wnd {
|
||||
public:
|
||||
c_slide_group();
|
||||
|
@ -1,14 +1,14 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/bitmap.h"
|
||||
#include "../core_include/word.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/bitmap.h"
|
||||
#include "core_include/word.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "../gui_include/font.h"
|
||||
#include "../gui_include/button.h"
|
||||
#include "../gui_include/dialog.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../gui_include/shape_resource.h"
|
||||
|
||||
void c_button::pre_create_wnd()
|
||||
|
@ -1,16 +1,17 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/msg.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/msg.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/bitmap.h"
|
||||
#include "core_include/word.h"
|
||||
#include "../gui_include/button.h"
|
||||
#include "../gui_include/font.h"
|
||||
#include "../gui_include/dialog.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../gui_include/shape_resource.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/bitmap.h"
|
||||
#include "../core_include/word.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
DIALOG_ARRAY c_dialog::ms_the_dialogs[MAX_DIALOG];
|
||||
|
@ -1,13 +1,13 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/word.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/word.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "../gui_include/button.h"
|
||||
#include "../gui_include/label.h"
|
||||
#include "../gui_include/edit.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../gui_include/shape_resource.h"
|
||||
#include "../gui_include/font.h"
|
||||
#include "../gui_include/dialog.h"
|
||||
|
@ -1,10 +1,10 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/msg.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../core_include/display.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/msg.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "core_include/display.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "../gui_include/dialog.h"
|
||||
#include "../gui_include/gesture.h"
|
||||
#include "../gui_include/slide_group.h"
|
||||
|
@ -1,10 +1,10 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/word.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/word.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "../gui_include/button.h"
|
||||
#include "../gui_include/shape_resource.h"
|
||||
#include "../gui_include/keyboard.h"
|
||||
|
@ -1,11 +1,11 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/bitmap.h"
|
||||
#include "../core_include/word.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/bitmap.h"
|
||||
#include "core_include/word.h"
|
||||
#include "../gui_include/font.h"
|
||||
#include "../gui_include/label.h"
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../core_include/bitmap.h"
|
||||
#include "../core_include/word.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "core_include/bitmap.h"
|
||||
#include "core_include/word.h"
|
||||
|
||||
#include "../gui_include/button.h"
|
||||
#include "../gui_include/font.h"
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "../gui_include/shape_resource.h"
|
||||
|
||||
#define LIST_BOX_SELECT \
|
||||
|
@ -1,9 +1,10 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../core_include/display.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "core_include/display.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "../gui_include/dialog.h"
|
||||
#include "../gui_include/slide_group.h"
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/word.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/word.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "../gui_include/button.h"
|
||||
#include "../gui_include/font.h"
|
||||
#include "../gui_include/spinbox.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../gui_include/shape_resource.h"
|
||||
|
||||
#define ARROW_BT_HEIGHT 55
|
||||
|
@ -1,10 +1,10 @@
|
||||
#include "../core_include/api.h"
|
||||
#include "../core_include/resource_type.h"
|
||||
#include "../core_include/rect.h"
|
||||
#include "../core_include/word.h"
|
||||
#include "../core_include/surface.h"
|
||||
#include "../core_include/cmd_target.h"
|
||||
#include "../core_include/wnd.h"
|
||||
#include "core_include/api.h"
|
||||
#include "core_include/resource_type.h"
|
||||
#include "core_include/rect.h"
|
||||
#include "core_include/word.h"
|
||||
#include "core_include/surface.h"
|
||||
#include "core_include/cmd_target.h"
|
||||
#include "core_include/wnd.h"
|
||||
#include "../gui_include/font.h"
|
||||
#include "../gui_include/table.h"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user