!16 separate surface from c_wnd, merge core, gui into GuiLite

This commit is contained in:
idea4good 2019-04-08 13:17:46 +08:00
parent 5c281e8043
commit 53ce424766
49 changed files with 701 additions and 948 deletions

4
.gitignore vendored
View File

@ -36,8 +36,8 @@ CMakeFiles
cmake_install.cmake
Makefile
libcore.a
libgui.a
libGuiLite.a
libGuiLite.so
# Keil
GuiLite.uvguix.*

View File

@ -2,5 +2,22 @@ cmake_minimum_required(VERSION 2.8)
PROJECT(GuiLite)
ADD_SUBDIRECTORY(core)
ADD_SUBDIRECTORY(gui)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES(core widgets)
# core
FILE(GLOB CORE_SRC core/src/*.cpp)
FILE(GLOB CORE_ADAPTER core/src/adapter/api_linux.cpp
core/src/adapter/audio_linux.cpp
core/src/adapter/msg_linux.cpp)
# gui
FILE(GLOB WIDGETS_SRC widgets/src/*.cpp)
# build static library
ADD_LIBRARY(GuiLite STATIC ${CORE_SRC} ${CORE_ADAPTER} ${WIDGETS_SRC})
# build shared library
# ADD_LIBRARY(GuiLite SHARED ${CORE_SRC} ${CORE_ADAPTER} ${WIDGETS_SRC})
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/.sync.sh GuiLite)

View File

@ -1,58 +1,30 @@

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
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.572
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GuiLite", "GuiLite.vcxproj", "{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Debug|x64.ActiveCfg = Debug|x64
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Debug|x64.Build.0 = Debug|x64
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Debug|x86.ActiveCfg = Debug|Win32
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Debug|x86.Build.0 = Debug|Win32
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Release|x64.ActiveCfg = Release|x64
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Release|x64.Build.0 = Release|x64
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Release|x86.ActiveCfg = Release|Win32
{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {50A71AAC-BDD2-499B-A992-6725DDB908AD}
EndGlobalSection
EndGlobal

View File

@ -407,16 +407,6 @@
<FileType>8</FileType>
<FilePath>.\core\src\surface.cpp</FilePath>
</File>
<File>
<FileName>wave_buffer.cpp</FileName>
<FileType>8</FileType>
<FilePath>.\core\src\wave_buffer.cpp</FilePath>
</File>
<File>
<FileName>wave_ctrl.cpp</FileName>
<FileType>8</FileType>
<FilePath>.\core\src\wave_ctrl.cpp</FilePath>
</File>
<File>
<FileName>wnd.cpp</FileName>
<FileType>8</FileType>
@ -437,25 +427,35 @@
<FileType>8</FileType>
<FilePath>.\core\src\adapter\msg_unknow.cpp</FilePath>
</File>
<File>
<FileName>theme.cpp</FileName>
<FileType>8</FileType>
<FilePath>.\core\src\theme.cpp</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>gui</GroupName>
<GroupName>widgets</GroupName>
<Files>
<File>
<FileName>button.cpp</FileName>
<FileType>8</FileType>
<FilePath>.\gui\src\button.cpp</FilePath>
<FilePath>.\widgets\src\button.cpp</FilePath>
</File>
<File>
<FileName>label.cpp</FileName>
<FileType>8</FileType>
<FilePath>.\gui\src\label.cpp</FilePath>
<FilePath>.\widgets\src\label.cpp</FilePath>
</File>
<File>
<FileName>my_resource.cpp</FileName>
<FileName>wave_buffer.cpp</FileName>
<FileType>8</FileType>
<FilePath>.\gui\src\my_resource.cpp</FilePath>
<FilePath>.\widgets\src\wave_buffer.cpp</FilePath>
</File>
<File>
<FileName>wave_ctrl.cpp</FileName>
<FileType>8</FileType>
<FilePath>.\widgets\src\wave_ctrl.cpp</FilePath>
</File>
</Files>
</Group>

430
GuiLite.vcxproj Normal file
View File

@ -0,0 +1,430 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MinSizeRel|x64">
<Configuration>MinSizeRel</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MinSizeRel|Win32">
<Configuration>MinSizeRel</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="RelWithDebInfo|Win32">
<Configuration>RelWithDebInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="RelWithDebInfo|x64">
<Configuration>RelWithDebInfo</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DF7A4FAD-A68D-3E43-9C4B-7DE4EE77F732}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
<Keyword>Win32Proj</Keyword>
<Platform>Win32</Platform>
<ProjectName>GuiLite</ProjectName>
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.20506.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.lib</TargetExt>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.lib</TargetExt>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectName)</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.lib</TargetExt>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.lib</TargetExt>
<OutDir Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">D:\private\Noodle\GuiLite.gitee\MinSizeRel\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">GuiLite.dir\MinSizeRel\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">GuiLite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">GuiLite</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">.lib</TargetExt>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">.lib</TargetExt>
<OutDir Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">D:\private\Noodle\GuiLite.gitee\RelWithDebInfo\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">GuiLite.dir\RelWithDebInfo\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">GuiLite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">GuiLite</TargetName>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">.lib</TargetExt>
<TargetExt Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">.lib</TargetExt>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>Debug/</AssemblerListingLocation>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<CompileAs>CompileAsCpp</CompileAs>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
<Optimization>Disabled</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X86</AdditionalOptions>
</Lib>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "GuiLite"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>Debug/</AssemblerListingLocation>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<CompileAs>CompileAsCpp</CompileAs>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
<Optimization>Disabled</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X64</AdditionalOptions>
</Lib>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "GuiLite"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>Release/</AssemblerListingLocation>
<CompileAs>CompileAsCpp</CompileAs>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<Optimization>MaxSpeed</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<DebugInformationFormat>
</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X86</AdditionalOptions>
</Lib>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "GuiLite"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>Release/</AssemblerListingLocation>
<CompileAs>CompileAsCpp</CompileAs>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<Optimization>MaxSpeed</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<DebugInformationFormat>
</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X64</AdditionalOptions>
</Lib>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "GuiLite"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>MinSizeRel/</AssemblerListingLocation>
<CompileAs>CompileAsCpp</CompileAs>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<Optimization>MinSpace</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<DebugInformationFormat>
</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X86</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>MinSizeRel/</AssemblerListingLocation>
<CompileAs>CompileAsCpp</CompileAs>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<Optimization>MinSpace</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<DebugInformationFormat>
</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X86</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>RelWithDebInfo/</AssemblerListingLocation>
<CompileAs>CompileAsCpp</CompileAs>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<Optimization>MaxSpeed</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X86</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">
<ClCompile>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>RelWithDebInfo/</AssemblerListingLocation>
<CompileAs>CompileAsCpp</CompileAs>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>Sync</ExceptionHandling>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<Optimization>MaxSpeed</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Midl>
<AdditionalIncludeDirectories>D:\private\Noodle\GuiLite.gitee\core;D:\private\Noodle\GuiLite.gitee\widgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:X86</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="core\src\adapter\api_win.cpp" />
<ClCompile Include="core\src\adapter\audio_win.cpp" />
<ClCompile Include="core\src\adapter\msg_win.cpp" />
<ClCompile Include="core\src\theme.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\bitmap.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\cmd_target.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\display.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\rect.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\surface.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\wnd.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\word.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\button.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\dialog.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\edit.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\gesture.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\keyboard.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\label.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\list_box.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\slide_group.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\spinbox.cpp" />
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\table.cpp" />
<ClCompile Include="widgets\src\wave_buffer.cpp" />
<ClCompile Include="widgets\src\wave_ctrl.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

85
GuiLite.vcxproj.filters Normal file
View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\bitmap.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\cmd_target.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\display.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\rect.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\surface.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\wnd.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\core\src\word.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\button.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\dialog.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\edit.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\label.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\keyboard.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\list_box.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\slide_group.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\spinbox.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\table.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="D:\private\Noodle\GuiLite.gitee\widgets\src\gesture.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="widgets\src\wave_buffer.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="widgets\src\wave_ctrl.cpp">
<Filter>widgets</Filter>
</ClCompile>
<ClCompile Include="core\src\theme.cpp">
<Filter>core</Filter>
</ClCompile>
<ClCompile Include="core\src\adapter\api_win.cpp">
<Filter>core\adapter</Filter>
</ClCompile>
<ClCompile Include="core\src\adapter\audio_win.cpp">
<Filter>core\adapter</Filter>
</ClCompile>
<ClCompile Include="core\src\adapter\msg_win.cpp">
<Filter>core\adapter</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Filter Include="core">
<UniqueIdentifier>{90BF9B29-451D-34AC-BF45-13C635ED39CD}</UniqueIdentifier>
</Filter>
<Filter Include="widgets">
<UniqueIdentifier>{338d9696-2a1d-4569-b435-dd3da382a8d2}</UniqueIdentifier>
</Filter>
<Filter Include="core\adapter">
<UniqueIdentifier>{691801eb-7076-4af6-aa0c-5ce5b0fcb21c}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>

View File

@ -8,11 +8,11 @@
- [致谢](#致谢)
***
## GuiLite是什么鬼
- GuiLite超轻量UI框架是5千行代码的**全平台UI框架**可以完美运行在iOSAndroidLinuxARM/x86-64Windows包含VRMac和**Dokcer容器**上。
- GuiLite超轻量UI框架是5千行代码的**全平台UI框架**可以完美运行在iOSAndroidLinuxARM/x86-64Windows包含VRMacDocker和**有(无)操作系统的MCU**上。
- GuiLite可以嵌入在iOS、Android、MFC、QT等其他UI系统中让你的界面集百家之长又不失个性。
- GuiLite与操作系统及第三方图形库无关甚至也可以运行在无OS的单片机环境。
- GuiLite鼓励混合编程开发者可以用GuiLite接管UI部分用SwiftJavaGolangC#Python开发业务部分。
- ⚠️不鼓励大家全盘接受GuiLite更愿意大家自主定制GuiLite
- 🔧不鼓励大家全盘接受GuiLite更愿意大家自主定制GuiLite
- ⚙希望GuiLite小到足够帮助大家掌握UI工作原理从而摆脱UI框架的束缚构建自己独一无二的UI
- 👑任何UI框架都不为你我而生你才是自己真正的主人

View File

@ -1,20 +0,0 @@
cmake_minimum_required(VERSION 2.8)
PROJECT(Core)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/..)
INCLUDE_DIRECTORIES(core_include)
FILE(GLOB MAIN src/*.cpp)
FILE(GLOB ADAPTER src/adapter/api_linux.cpp
src/adapter/audio_linux.cpp
src/adapter/msg_linux.cpp)
ADD_LIBRARY(core
${MAIN}
${ADAPTER})
execute_process(
COMMAND ${CMAKE_SOURCE_DIR}/.sync.sh Core
)

View File

@ -1,28 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "core.vcxproj", "{8C80C76D-F437-4C69-BC94-252AC44171C2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|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}.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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,184 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8C80C76D-F437-4C69-BC94-252AC44171C2}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>core</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Core"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Core"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Core"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Core"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\adapter\api_win.cpp" />
<ClCompile Include="src\adapter\audio_win.cpp" />
<ClCompile Include="src\adapter\msg_win.cpp" />
<ClCompile Include="src\bitmap.cpp" />
<ClCompile Include="src\cmd_target.cpp" />
<ClCompile Include="src\display.cpp" />
<ClCompile Include="src\surface.cpp" />
<ClCompile Include="src\rect.cpp" />
<ClCompile Include="src\wave_buffer.cpp" />
<ClCompile Include="src\wave_ctrl.cpp" />
<ClCompile Include="src\wnd.cpp" />
<ClCompile Include="src\word.cpp" />
</ItemGroup>
<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\display.h" />
<ClInclude Include="core_include\surface.h" />
<ClInclude Include="core_include\msg.h" />
<ClInclude Include="core_include\rect.h" />
<ClInclude Include="core_include\resource.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" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,95 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files\core_include">
<UniqueIdentifier>{3a033a7f-d656-4871-b7fe-f0a16aca7c8d}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\bitmap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\cmd_target.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\rect.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\wave_buffer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\wave_ctrl.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\wnd.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\word.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\adapter\api_win.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\adapter\audio_win.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\adapter\msg_win.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\surface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\display.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</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\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="core_include\surface.h">
<Filter>Header Files\core_include</Filter>
</ClInclude>
<ClInclude Include="core_include\display.h">
<Filter>Header Files\core_include</Filter>
</ClInclude>
<ClInclude Include="core_include\resource.h">
<Filter>Header Files\core_include</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -27,18 +27,27 @@ class c_display;
class c_surface {
friend class c_display; friend class c_bitmap;
public:
virtual void draw_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);
unsigned int get_pixel(int x, int y, unsigned int z_order);
int get_width() { return m_width; }
int get_height() { return m_height; }
unsigned int get_pixel(int x, int y, unsigned int z_order);
void draw_pixel(int x, int y, 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_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, unsigned int size = 1);
int flush_scrren(int left, int top, int right, int bottom);
inline void draw_rect(c_rect rect, unsigned int rgb, unsigned int size, unsigned int z_order)
{
draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, rgb, z_order, size);
}
inline void fill_rect(c_rect rect, unsigned int rgb, unsigned int z_order)
{
fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, rgb, 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; }

View File

@ -54,7 +54,7 @@ enum COLOR_TYPE
COLOR_MAX
};
class c_my_resource
class c_theme
{
public:
static int add_font(FONT_TYPE index, const FONT_INFO* font);

View File

@ -103,15 +103,6 @@ protected:
virtual void on_focus();
virtual void on_kill_focus();
void draw_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, unsigned int size = 1);
void draw_rect(c_rect rect, unsigned int rgb, unsigned int size = 1);
void fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb);
void fill_rect(c_rect rect, unsigned int rgb);
protected:
WND_STATUS m_status;
unsigned int m_style;

Binary file not shown.

View File

@ -1,13 +1,13 @@
#include "core_include/api.h"
#include "core_include/rect.h"
#include "core_include/resource.h"
#include "../gui_include/my_resource.h"
#include "core_include/theme.h"
static const FONT_INFO* s_font_map[FONT_MAX];
static const BITMAP_INFO* s_bmp_map[BITMAP_MAX];
static unsigned int s_color_map[COLOR_MAX];
int c_my_resource::add_font(FONT_TYPE index, const FONT_INFO* font)
int c_theme::add_font(FONT_TYPE index, const FONT_INFO* font)
{
if (index >= FONT_MAX)
{
@ -18,7 +18,7 @@ int c_my_resource::add_font(FONT_TYPE index, const FONT_INFO* font)
return 0;
}
const FONT_INFO* c_my_resource::get_font(FONT_TYPE index)
const FONT_INFO* c_theme::get_font(FONT_TYPE index)
{
if (index >= FONT_MAX)
{
@ -28,7 +28,7 @@ const FONT_INFO* c_my_resource::get_font(FONT_TYPE index)
return s_font_map[index];
}
int c_my_resource::add_bitmap(BITMAP_TYPE index, const BITMAP_INFO* bmp)
int c_theme::add_bitmap(BITMAP_TYPE index, const BITMAP_INFO* bmp)
{
if (index >= BITMAP_MAX)
{
@ -39,7 +39,7 @@ int c_my_resource::add_bitmap(BITMAP_TYPE index, const BITMAP_INFO* bmp)
return 0;
}
const BITMAP_INFO* c_my_resource::get_bmp(BITMAP_TYPE index)
const BITMAP_INFO* c_theme::get_bmp(BITMAP_TYPE index)
{
if (index >= BITMAP_MAX)
{
@ -49,7 +49,7 @@ const BITMAP_INFO* c_my_resource::get_bmp(BITMAP_TYPE index)
return s_bmp_map[index];
}
int c_my_resource::add_color(COLOR_TYPE index, const unsigned int color)
int c_theme::add_color(COLOR_TYPE index, const unsigned int color)
{
if (index >= COLOR_MAX)
{
@ -60,7 +60,7 @@ int c_my_resource::add_color(COLOR_TYPE index, const unsigned int color)
return 0;
}
const unsigned int c_my_resource::get_color(COLOR_TYPE index)
const unsigned int c_theme::get_color(COLOR_TYPE index)
{
if (index >= COLOR_MAX)
{

View File

@ -603,43 +603,3 @@ void c_wnd::notify_parent(unsigned short msg_id, unsigned int w_param, long l_pa
m_parent->on_notify(msg_id, w_param, l_param);
}
}
void c_wnd::draw_pixel(int x, int y, unsigned int rgb)
{
m_surface->draw_pixel(x, y, rgb, m_z_order);
}
void c_wnd::draw_hline(int x0, int x1, int y, unsigned int rgb)
{
m_surface->draw_hline(x0, x1, y, rgb, m_z_order);
}
void c_wnd::draw_vline(int x, int y0, int y1, unsigned int rgb)
{
m_surface->draw_vline(x, y0, y1, rgb, m_z_order);
}
void c_wnd::draw_line(int x0, int y0, int x1, int y1, unsigned int rgb)
{
m_surface->draw_line(x0, y0, x1, y1, rgb, m_z_order);
}
void c_wnd::draw_rect(int x0, int y0, int x1, int y1, unsigned int rgb, unsigned int size)
{
m_surface->draw_rect(x0, y0, x1, y1, rgb, m_z_order, size);
}
void c_wnd::draw_rect(c_rect rect, unsigned int rgb, unsigned int size)
{
m_surface->draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, rgb, m_z_order, size);
}
void c_wnd::fill_rect(int x0, int y0, int x1, int y1, unsigned int rgb)
{
m_surface->fill_rect(x0, y0, x1, y1, rgb, m_z_order);
}
void c_wnd::fill_rect(c_rect rect, unsigned int rgb)
{
m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, rgb, m_z_order);
}

View File

@ -1,16 +1,16 @@
## How to build core&gui libary for Windows?
## How to build GuiLite libary for Windows?
Prerequisite: Windows 10, visul stdio 2015/2017
- Open "GuiLite.sln" by Visual studio 2017
- Click `Build Solution`
- Output here: \GuiLite\Debug(Release)\core.lib gui.lib
- Output here: \GuiLite\Debug(Release)\GuiLite.lib
## How to build core&gui libary for iOS/Mac and Linuxx64 & raspberry pi?
## How to build GuiLite libary for iOS/Mac and Linux(amd64) & raspberry pi?
- `cd GuiLite`
- `cmake .`
- `make`
- Output here: /GuiLite/libcore.a libgui.a
- Output here: /GuiLite/libGuiLite.a
## How to build core&gui libary for ARM Linux?
## How to build GuiLite libary for ARM Linux?
### Prerequisite: Install cross compiler:
- For ARM32: `sudo apt-get install g++-arm-linux-gnueabi gcc-arm-linux-gnueabi`
- For ARM64: `sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu`
@ -19,16 +19,16 @@ Prerequisite: Windows 10, visul stdio 2015/2017
- For ARM32: `cmake -D CMAKE_C_COMPILER="/usr/bin/arm-linux-gnueabi-gcc" -D CMAKE_CXX_COMPILER="/usr/bin/arm-linux-gnueabi-g++" .`
- For ARM64: `cmake -D CMAKE_C_COMPILER="/usr/bin/aarch64-linux-gnu-gcc" -D CMAKE_CXX_COMPILER="/usr/bin/aarch64-linux-gnu-g++" .`
- `make`
- Output here: /GuiLite/libcore.a libgui.a
- Output here: /GuiLite/libGuiLite.a
## How to build core&gui libary for Android?
## How to build GuiLite libary for Android?
### Prerequisite: Install cross compiler:
`sudo apt-get install gcc-arm-linux-androideabi`
### Build
- `cd GuiLite`
- `cmake -D CMAKE_C_COMPILER="/usr/bin/arm-linux-androideabi-gcc" -D CMAKE_CXX_COMPILER="/usr/bin/arm-linux-androideabi-g++" .`
- `make`
- Output here: /GuiLite/libcore.a libgui.a
- Output here: /GuiLite/libGuiLite.a
## How to build GuiLite libary for any MCU?
### Prerequisite: Install Keil uvsion 5.6 or above.
@ -36,4 +36,5 @@ Prerequisite: Windows 10, visul stdio 2015/2017
- Open `GuiLite.uvprojx` with Keil uvsion.
- Implement function(e.g, thread_sleep) in `core\src\adapter\api_unknow.cpp` to meet your need.
- Choose your Device type(Default: STM32F103ZE) from option for target.
- Build GuiLite.
- Build GuiLite.
- Output here: /GuiLite/Objects/GuiLite.lib

View File

@ -1,16 +0,0 @@
cmake_minimum_required(VERSION 2.8)
PROJECT(Gui)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/..)
INCLUDE_DIRECTORIES(../core
gui_include)
FILE(GLOB SRC src/*.cpp)
ADD_LIBRARY(gui ${SRC})
execute_process(
COMMAND ${CMAKE_SOURCE_DIR}/.sync.sh Gui
)

Binary file not shown.

View File

@ -1,28 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gui", "gui.vcxproj", "{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{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}.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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,208 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{89DB54E6-EFE1-4722-BD31-27FEBE39DFC6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>gui</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<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>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<SmallerTypeCheck>false</SmallerTypeCheck>
<BufferSecurityCheck>true</BufferSecurityCheck>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<ExceptionHandling>Sync</ExceptionHandling>
<OpenMPSupport>
</OpenMPSupport>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Gui"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Gui"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Gui"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>call "$(SolutionDir)sync_build.bat" "Gui"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<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" />
<ClInclude Include="gui_include\my_resource.h" />
<ClInclude Include="gui_include\gesture.h" />
<ClInclude Include="gui_include\keyboard.h" />
<ClInclude Include="gui_include\label.h" />
<ClInclude Include="gui_include\list_box.h" />
<ClInclude Include="gui_include\slide_group.h" />
<ClInclude Include="gui_include\spinbox.h" />
<ClInclude Include="gui_include\table.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\button.cpp" />
<ClCompile Include="src\dialog.cpp" />
<ClCompile Include="src\edit.cpp" />
<ClCompile Include="src\my_resource.cpp" />
<ClCompile Include="src\gesture.cpp" />
<ClCompile Include="src\keyboard.cpp" />
<ClCompile Include="src\label.cpp" />
<ClCompile Include="src\list_box.cpp" />
<ClCompile Include="src\slide_group.cpp" />
<ClCompile Include="src\spinbox.cpp" />
<ClCompile Include="src\table.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,128 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files\core_include">
<UniqueIdentifier>{ee075da6-cdde-4d0a-8c3e-4f969486d78a}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\gui_include">
<UniqueIdentifier>{545b674c-c3e9-476a-b488-f4b0cb591cfc}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="gui_include\button.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\dialog.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\edit.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\gesture.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\keyboard.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\label.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\list_box.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\spinbox.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
<ClInclude Include="gui_include\table.h">
<Filter>Header Files\gui_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>
<ClInclude Include="gui_include\my_resource.h">
<Filter>Header Files\gui_include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\button.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\dialog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\gesture.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\label.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\spinbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\table.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\edit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\keyboard.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\list_box.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\slide_group.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\my_resource.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -6,14 +6,14 @@
#include "core_include/bitmap.h"
#include "core_include/word.h"
#include "core_include/surface.h"
#include "../gui_include/my_resource.h"
#include "../gui_include/button.h"
#include "core_include/theme.h"
#include "../widgets_include/button.h"
void c_button::pre_create_wnd()
{
m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS | ALIGN_HCENTER | ALIGN_VCENTER;
m_font_type = c_my_resource::get_font(FONT_DEFAULT);
m_font_color = c_my_resource::get_color(COLOR_WND_FONT);
m_font_type = c_theme::get_font(FONT_DEFAULT);
m_font_color = c_theme::get_color(COLOR_WND_FONT);
}
void c_button::on_focus()
@ -60,7 +60,7 @@ void c_button::on_paint()
}
else
{
fill_rect(rect, c_my_resource::get_color(COLOR_WND_NORMAL));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order);
}
break;
case STATUS_FOCUSED:
@ -70,7 +70,7 @@ void c_button::on_paint()
}
else
{
fill_rect(rect, c_my_resource::get_color(COLOR_WND_FOCUS));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order);
}
break;
case STATUS_PUSHED:
@ -80,8 +80,8 @@ void c_button::on_paint()
}
else
{
fill_rect(rect, c_my_resource::get_color(COLOR_WND_PUSHED));
draw_rect(rect, c_my_resource::get_color(COLOR_WND_BORDER), 2);
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_PUSHED), m_z_order);
m_surface->draw_rect(rect, c_theme::get_color(COLOR_WND_BORDER), 2, m_z_order);
}
break;
default:

View File

@ -8,9 +8,9 @@
#include "core_include/resource.h"
#include "core_include/bitmap.h"
#include "core_include/word.h"
#include "../gui_include/button.h"
#include "../gui_include/my_resource.h"
#include "../gui_include/dialog.h"
#include "core_include/theme.h"
#include "../widgets_include/button.h"
#include "../widgets_include/dialog.h"
#include <string.h>
@ -26,11 +26,11 @@ void c_dialog::on_paint()
{
c_rect rect;
get_screen_rect(rect);
fill_rect(rect, m_bg_color);
m_surface->fill_rect(rect, m_bg_color, m_z_order);
if (m_str)
{
c_word::draw_string(m_surface, m_z_order, m_str, rect.m_left+35, rect.m_top, c_my_resource::get_font(FONT_DEFAULT), GL_RGB(255, 255, 255), GL_ARGB(0, 0, 0, 0), ALIGN_LEFT);
c_word::draw_string(m_surface, m_z_order, m_str, rect.m_left+35, rect.m_top, c_theme::get_font(FONT_DEFAULT), GL_RGB(255, 255, 255), GL_ARGB(0, 0, 0, 0), ALIGN_LEFT);
}
}

View File

@ -5,11 +5,11 @@
#include "core_include/resource.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 "../gui_include/my_resource.h"
#include "../gui_include/keyboard.h"
#include "core_include/theme.h"
#include "../widgets_include/button.h"
#include "../widgets_include/label.h"
#include "../widgets_include/edit.h"
#include "../widgets_include/keyboard.h"
#include <string.h>
#define IDD_ALL_KEY_BOARD 0x5012
@ -25,8 +25,8 @@ static c_keyboard s_keyboard;
void c_edit::pre_create_wnd()
{
m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS | ALIGN_HCENTER | ALIGN_VCENTER | KEY_BOARD_STYLE;
m_font_type = c_my_resource::get_font(FONT_DEFAULT);
m_font_color = c_my_resource::get_color(COLOR_WND_FONT);
m_font_type = c_theme::get_font(FONT_DEFAULT);
m_font_color = c_theme::get_color(COLOR_WND_FONT);
memset(m_str_input, 0, sizeof(m_str_input));
memset(m_str, 0, sizeof(m_str));
@ -118,7 +118,7 @@ void c_edit::on_paint()
m_surface->set_frame_layer(empty_rect, s_keyboard.get_z_order());
m_z_order = m_parent->get_z_order();
}
fill_rect(rect, c_my_resource::get_color(COLOR_WND_NORMAL));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order);
break;
case STATUS_FOCUSED:
if (m_z_order > m_parent->get_z_order())
@ -127,7 +127,7 @@ void c_edit::on_paint()
m_surface->set_frame_layer(empty_rect, s_keyboard.get_z_order());
m_z_order = m_parent->get_z_order();
}
fill_rect(rect, c_my_resource::get_color(COLOR_WND_FOCUS));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order);
break;
case STATUS_PUSHED:
if (m_z_order == m_parent->get_z_order())
@ -135,8 +135,8 @@ void c_edit::on_paint()
m_z_order++;
show_keyboard();
}
m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_my_resource::get_color(COLOR_WND_PUSHED), m_parent->get_z_order());
m_surface->draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_my_resource::get_color(COLOR_WND_BORDER), m_parent->get_z_order(), 2);
m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_PUSHED), m_parent->get_z_order());
m_surface->draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_BORDER), m_parent->get_z_order(), 2);
break;
default:
ASSERT(FALSE);

View File

@ -5,8 +5,8 @@
#include "core_include/display.h"
#include "core_include/cmd_target.h"
#include "core_include/wnd.h"
#include "../gui_include/gesture.h"
#include "../gui_include/slide_group.h"
#include "../widgets_include/gesture.h"
#include "../widgets_include/slide_group.h"
#include <stdlib.h>
//#define FLIP_STEP 300//for arm

View File

@ -5,9 +5,9 @@
#include "core_include/cmd_target.h"
#include "core_include/wnd.h"
#include "core_include/surface.h"
#include "../gui_include/button.h"
#include "../gui_include/my_resource.h"
#include "../gui_include/keyboard.h"
#include "core_include/theme.h"
#include "../widgets_include/button.h"
#include "../widgets_include/keyboard.h"
#include <string.h>
#define KEYBOARD_WIDTH (1024 * 2 / 3 - 10)//change this will change every key proportional
@ -234,14 +234,14 @@ void c_keyboard_button::on_paint()
switch(m_status)
{
case STATUS_NORMAL:
fill_rect(rect, c_my_resource::get_color(COLOR_WND_NORMAL));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order);
break;
case STATUS_FOCUSED:
fill_rect(rect, c_my_resource::get_color(COLOR_WND_FOCUS));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order);
break;
case STATUS_PUSHED:
fill_rect(rect, c_my_resource::get_color(COLOR_WND_PUSHED));
draw_rect(rect, c_my_resource::get_color(COLOR_WND_BORDER), 2);
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_PUSHED), m_z_order);
m_surface->draw_rect(rect, c_theme::get_color(COLOR_WND_BORDER), 2, m_z_order);
break;
default:
ASSERT(FALSE);

View File

@ -5,16 +5,16 @@
#include "core_include/surface.h"
#include "core_include/resource.h"
#include "core_include/bitmap.h"
#include "core_include/theme.h"
#include "core_include/word.h"
#include "../gui_include/my_resource.h"
#include "../gui_include/label.h"
#include "../widgets_include/label.h"
void c_label::pre_create_wnd()
{
m_style = GL_ATTR_VISIBLE | ALIGN_LEFT | ALIGN_VCENTER;
m_font_color = GL_RGB(255,255,255);
m_font_type = c_my_resource::get_font(FONT_DEFAULT);
m_font_type = c_theme::get_font(FONT_DEFAULT);
}
void c_label::on_paint()
@ -24,7 +24,7 @@ void c_label::on_paint()
if (m_str)
{
fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, get_parent()->get_bg_color());
m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, get_parent()->get_bg_color(), m_z_order);
c_word::draw_string_in_rect(m_surface, m_z_order, m_str, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_style);
}
}

View File

@ -6,10 +6,10 @@
#include "core_include/surface.h"
#include "core_include/bitmap.h"
#include "core_include/word.h"
#include "core_include/theme.h"
#include "../gui_include/button.h"
#include "../gui_include/my_resource.h"
#include "../gui_include/list_box.h"
#include "../widgets_include/button.h"
#include "../widgets_include/list_box.h"
#include <string.h>
#define ITEM_HEIGHT 45
@ -20,8 +20,8 @@ void c_list_box::pre_create_wnd()
memset(m_item_array, 0, sizeof(m_item_array));
m_item_total = 0;
m_selected_item = 0;
m_font_type = c_my_resource::get_font(FONT_DEFAULT);
m_font_color = c_my_resource::get_color(COLOR_WND_FONT);
m_font_type = c_theme::get_font(FONT_DEFAULT);
m_font_color = c_theme::get_color(COLOR_WND_FONT);
}
void c_list_box::on_focus()
@ -50,7 +50,7 @@ void c_list_box::on_paint()
m_surface->set_frame_layer(empty_rect, m_z_order);
m_z_order = m_parent->get_z_order();
}
fill_rect(rect, c_my_resource::get_color(COLOR_WND_NORMAL));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order);
break;
case STATUS_FOCUSED:
if (m_z_order > m_parent->get_z_order())
@ -58,11 +58,11 @@ void c_list_box::on_paint()
m_surface->set_frame_layer(empty_rect, m_z_order);
m_z_order = m_parent->get_z_order();
}
fill_rect(rect, c_my_resource::get_color(COLOR_WND_FOCUS));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order);
break;
case STATUS_PUSHED:
fill_rect(rect, c_my_resource::get_color(COLOR_WND_PUSHED));
draw_rect(rect, c_my_resource::get_color(COLOR_WND_BORDER), 2);
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_PUSHED), m_z_order);
m_surface->draw_rect(rect, c_theme::get_color(COLOR_WND_BORDER), 2, m_z_order);
c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[m_selected_item], rect, m_font_type, GL_RGB(2, 124, 165), GL_ARGB(0, 0, 0, 0), ALIGN_HCENTER | ALIGN_VCENTER);
//draw list
if (m_item_total > 0)
@ -154,7 +154,7 @@ void c_list_box::update_list_size()
void c_list_box::show_list()
{
fill_rect(m_list_screen_rect, GL_RGB(17, 17, 17));
m_surface->fill_rect(m_list_screen_rect, GL_RGB(17, 17, 17), m_z_order);
//draw all items
c_rect tmp_rect;
for (int i = 0; i < m_item_total; i++)
@ -164,7 +164,7 @@ void c_list_box::show_list()
tmp_rect.m_top = m_list_screen_rect.m_top + i * ITEM_HEIGHT;
tmp_rect.m_bottom = tmp_rect.m_top + ITEM_HEIGHT;
c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[i], tmp_rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), ALIGN_HCENTER | ALIGN_VCENTER);
draw_hline(tmp_rect.m_left, tmp_rect.m_right, tmp_rect.m_bottom, GL_RGB(99, 108, 124));
m_surface->draw_hline(tmp_rect.m_left, tmp_rect.m_right, tmp_rect.m_bottom, GL_RGB(99, 108, 124), m_z_order);
}
//draw selected item
tmp_rect.m_left = m_list_screen_rect.m_left;
@ -172,7 +172,7 @@ void c_list_box::show_list()
tmp_rect.m_top = m_list_screen_rect.m_top + m_selected_item * ITEM_HEIGHT;
tmp_rect.m_bottom = tmp_rect.m_top + ITEM_HEIGHT;
fill_rect(tmp_rect, c_my_resource::get_color(COLOR_WND_FOCUS));
m_surface->fill_rect(tmp_rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order);
c_word::draw_string_in_rect(m_surface, m_z_order, m_item_array[m_selected_item], tmp_rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), ALIGN_HCENTER | ALIGN_VCENTER);
}

View File

@ -5,8 +5,8 @@
#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"
#include "../widgets_include/dialog.h"
#include "../widgets_include/slide_group.h"
c_slide_group::c_slide_group()
{

View File

@ -5,9 +5,9 @@
#include "core_include/resource.h"
#include "core_include/word.h"
#include "core_include/surface.h"
#include "../gui_include/button.h"
#include "../gui_include/my_resource.h"
#include "../gui_include/spinbox.h"
#include "core_include/theme.h"
#include "../widgets_include/button.h"
#include "../widgets_include/spinbox.h"
#define ARROW_BT_HEIGHT 55
#define ID_BT_ARROW_UP 1
@ -21,8 +21,8 @@ GL_END_MESSAGE_MAP()
void c_spin_box::pre_create_wnd()
{
m_style = GL_ATTR_VISIBLE | GL_ATTR_FOCUS | ALIGN_HCENTER | ALIGN_VCENTER;
m_font_type = c_my_resource::get_font(FONT_DEFAULT);
m_font_color = c_my_resource::get_color(COLOR_WND_FONT);
m_font_type = c_theme::get_font(FONT_DEFAULT);
m_font_color = c_theme::get_color(COLOR_WND_FONT);
m_max = 6;
m_min = 1;
@ -118,18 +118,18 @@ void c_spin_box::on_kill_focus()
void c_spin_box::show_arrow_button()
{
fill_rect(m_bt_up_rect.m_left, m_bt_up_rect.m_top, m_bt_down_rect.m_right, m_bt_down_rect.m_bottom, GL_RGB(99,108,124));
m_surface->fill_rect(m_bt_up_rect.m_left, m_bt_up_rect.m_top, m_bt_down_rect.m_right, m_bt_down_rect.m_bottom, GL_RGB(99,108,124), m_z_order);
m_bt_up.connect(this, ID_BT_ARROW_UP, 0, 0, m_wnd_rect.Height(), m_bt_up_rect.Width(),m_bt_up_rect.Height());
m_bt_up.set_bitmap(c_my_resource::get_bmp(BITMAP_UP_ARROW1));
m_bt_up.set_focus_bitmap(c_my_resource::get_bmp(BITMAP_UP_ARROW2));
m_bt_up.set_pushed_bitmap(c_my_resource::get_bmp(BITMAP_UP_ARROW2));
m_bt_up.set_bitmap(c_theme::get_bmp(BITMAP_UP_ARROW1));
m_bt_up.set_focus_bitmap(c_theme::get_bmp(BITMAP_UP_ARROW2));
m_bt_up.set_pushed_bitmap(c_theme::get_bmp(BITMAP_UP_ARROW2));
m_bt_up.show_window();
m_bt_down.connect(this, ID_BT_ARROW_DOWN, 0, m_bt_up_rect.Width(), m_wnd_rect.Height(), m_bt_down_rect.Width(),m_bt_down_rect.Height());
m_bt_down.set_bitmap(c_my_resource::get_bmp(BITMAP_DOWN_ARROW1));
m_bt_down.set_focus_bitmap(c_my_resource::get_bmp(BITMAP_DOWN_ARROW2));
m_bt_down.set_pushed_bitmap(c_my_resource::get_bmp(BITMAP_DOWN_ARROW2));
m_bt_down.set_bitmap(c_theme::get_bmp(BITMAP_DOWN_ARROW1));
m_bt_down.set_focus_bitmap(c_theme::get_bmp(BITMAP_DOWN_ARROW2));
m_bt_down.set_pushed_bitmap(c_theme::get_bmp(BITMAP_DOWN_ARROW2));
m_bt_down.show_window();
}
@ -156,7 +156,7 @@ void c_spin_box::on_paint()
m_surface->set_frame_layer(tmp_rect, m_z_order);
m_z_order = m_parent->get_z_order();
}
fill_rect(rect, c_my_resource::get_color(COLOR_WND_NORMAL));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_NORMAL), m_z_order);
break;
case STATUS_FOCUSED:
if (m_z_order > m_parent->get_z_order())
@ -166,7 +166,7 @@ void c_spin_box::on_paint()
m_surface->set_frame_layer(tmp_rect, m_z_order);
m_z_order = m_parent->get_z_order();
}
fill_rect(rect, c_my_resource::get_color(COLOR_WND_FOCUS));
m_surface->fill_rect(rect, c_theme::get_color(COLOR_WND_FOCUS), m_z_order);
break;
case STATUS_PUSHED:
if (m_z_order == m_parent->get_z_order())
@ -178,8 +178,8 @@ void c_spin_box::on_paint()
m_surface->set_frame_layer(tmp_rect, m_z_order);
show_arrow_button();
m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_my_resource::get_color(COLOR_WND_PUSHED), m_parent->get_z_order());
m_surface->draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_my_resource::get_color(COLOR_WND_BORDER), m_parent->get_z_order(), 2);
m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_PUSHED), m_parent->get_z_order());
m_surface->draw_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, c_theme::get_color(COLOR_WND_BORDER), m_parent->get_z_order(), 2);
c_word::draw_value_in_rect(m_surface, m_parent->get_z_order(), m_cur_value, m_digit, rect, m_font_type, GL_RGB(2, 124, 165), GL_ARGB(0, 0, 0, 0), m_style);
return;
break;

View File

@ -5,8 +5,7 @@
#include "core_include/surface.h"
#include "core_include/cmd_target.h"
#include "core_include/wnd.h"
#include "../gui_include/my_resource.h"
#include "../gui_include/table.h"
#include "../widgets_include/table.h"
void c_table::set_item(int row, int col, char* str, unsigned int color)
{
@ -16,7 +15,7 @@ void c_table::set_item(int row, int col, char* str, unsigned int color)
void c_table::draw_item(int row, int col, const char* str, unsigned int color)
{
c_rect rect = get_item_rect(row, col);
fill_rect(rect.m_left+1, rect.m_top+1, rect.m_right-1, rect.m_bottom-1, color);
m_surface->fill_rect(rect.m_left+1, rect.m_top+1, rect.m_right-1, rect.m_bottom-1, color, m_z_order);
c_word::draw_string_in_rect(m_surface, m_z_order, str, rect, m_font_type, m_font_color, GL_ARGB(0, 0, 0, 0), m_align_type);
}

View File

@ -1,5 +1,5 @@
#include "../core_include/api.h"
#include "../core_include/wave_buffer.h"
#include "core_include/api.h"
#include "../widgets_include/wave_buffer.h"
#include <string.h>
#include <stdio.h>

View File

@ -1,12 +1,12 @@
#include "../core_include/api.h"
#include "../core_include/rect.h"
#include "../core_include/cmd_target.h"
#include "../core_include/wnd.h"
#include "../core_include/wave_buffer.h"
#include "../core_include/surface.h"
#include "../core_include/resource.h"
#include "../core_include/word.h"
#include "../core_include/wave_ctrl.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.h"
#include "core_include/word.h"
#include "../widgets_include/wave_buffer.h"
#include "../widgets_include/wave_ctrl.h"
#include <stdlib.h>
#include <string.h>
@ -146,7 +146,7 @@ void c_wave_ctrl::draw_smooth_vline(int y_min, int y_max, int mid, unsigned int
int index = (dy >> 1) + 2;
int y;
draw_pixel(m_wave_cursor, mid, rgb);
m_surface->draw_pixel(m_wave_cursor, mid, rgb, m_z_order);
if (dy < 1)
{
@ -164,7 +164,7 @@ void c_wave_ctrl::draw_smooth_vline(int y_min, int y_max, int mid, unsigned int
cur_g = g * (index - i) / index;
cur_b = b * (index - i) / index;
cur_rgb = GL_RGB(cur_r, cur_g, cur_b);
draw_pixel(m_wave_cursor, y, cur_rgb);
m_surface->draw_pixel(m_wave_cursor, y, cur_rgb, m_z_order);
}
if ( (mid - i) >= y_min )
{
@ -173,7 +173,7 @@ void c_wave_ctrl::draw_smooth_vline(int y_min, int y_max, int mid, unsigned int
cur_g = g * (index - i) / index;
cur_b = b * (index - i) / index;
cur_rgb = GL_RGB(cur_r, cur_g, cur_b);
draw_pixel(m_wave_cursor, y, cur_rgb);
m_surface->draw_pixel(m_wave_cursor, y, cur_rgb, m_z_order);
}
}
}
@ -183,7 +183,7 @@ void c_wave_ctrl::on_paint()
c_rect rect;
get_screen_rect(rect);
fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, m_back_color);
m_surface->fill_rect(rect.m_left, rect.m_top, rect.m_right, rect.m_bottom, m_back_color, m_z_order);
//show name
c_word::draw_string(m_surface, m_z_order, m_wave_name, m_wave_left + 10, rect.m_top, m_wave_name_font, m_wave_name_color, GL_ARGB(0, 0, 0, 0), ALIGN_LEFT);
@ -195,7 +195,7 @@ void c_wave_ctrl::on_paint()
void c_wave_ctrl::clear_wave(void)
{
fill_rect(m_wave_left, m_wave_top, m_wave_right, m_wave_bottom, m_back_color);
m_surface->fill_rect(m_wave_left, m_wave_top, m_wave_right, m_wave_bottom, m_back_color, m_z_order);
m_wave_cursor = m_wave_left;
}
@ -214,7 +214,7 @@ void c_wave_ctrl::restore_background()
register int left = rect.m_left;
for (int y_pos = (m_wave_top - 1); y_pos <= (m_wave_bottom + 1); y_pos++)
{
(m_bg_fb) ? draw_pixel(x, y_pos, m_bg_fb[(y_pos - top) * width + (x - left)]) : draw_pixel(x, y_pos, 0);
(m_bg_fb) ? m_surface->draw_pixel(x, y_pos, m_bg_fb[(y_pos - top) * width + (x - left)], m_z_order) : m_surface->draw_pixel(x, y_pos, 0, m_z_order);
}
}