LCUI 1.3.0 release, C graphical interface development library

LCUI 1.3.0 released, LCUI is a graphical interface development library written in C language.

Update Log

Bug fixes:

  • C ++ "operator" keyword conflicts ( 5a5ba8c )
  • css:  failed to work (after setting style_handler font style parser 6869683 )
  • Run the display:  X11Surface_SetCaptionW () memory leak ( 484c3d7 )
  • font:  font bitmap acquisition failure (when FONT_SIZE> 18 is d6315c5 )
  • gui:  default border colors should be transparent member (transparent) ( 5164955 )
  • gui:  When the selection member pointer-events (target event when none 0f26c8b )
  • GUI:  TextEdit placeholder non-functional ( d827767 )
  • the GUI:  mouseMove event should be fired before the mouseout event ( 5020b91 )
  • gui:  member attribute value should always be active ( 4b0a2ed )
  • ime:  IME window Orientation candidate word ( # 36# 175 ) ( 1107f91 )
  • renderer:  means rendering the content area is not correct ( f8b0f8b )
  • util:  Object_Operate object type determination () is incorrect ( a326e8c )
  • util:  parseURL () parse the results are incorrect ( 3f9450c )

new function:

  • Add LCUI_GetVersion () ( de40c7c )
  • Add rounded corners rendering, improved rendering shadow box ( # 174 ) ( f36d071 )
  • Add include / LCUI.h file ( # 173 ) ( 113af6a )
  • builder:  component type name (tag name may be an existing 4f6a01c )
  • css:  The CSSFontStyle_ * family of functions instead of public functions ( 568c915 )
  • graph:  Add LCUI_OverPixel () ( d8075d9 )
  • gui:  Adding canvas member ( e246843 )
  • gui: 添加 Widget_CollectReferences() (811585b)
  • gui:  Add Widget_Each () ( 2d7d1ee )
  • logger:  Support Set the log level ( 173b92f )
  • scrollbar:  capture touch and mousewheel event (from container f2f9162 )

The new way to experience

LCUI but I want to experience the feel compile too much trouble? Try following these types of new ways:

  1. LCUI use of standard development tools  lcui-cli :

    # 安装 lcui-cli
    npm install -g @lcui/cli
    
    # 创建一个名为 myapp 的 LCUI 项目
    lcui create myapp
    
    # 进入项目目录
    cd myapp
    
    # 运行这个项目
    npm run start
    
  2. Cloning and running the sample program  lcui / lcui-Quick-Start :

    # 克隆示例代码库
    git clone https://gitee.com/lc-ui/lcui-quick-start
    
    # 进入代码库
    cd lcui-quick-start
    
    # 安装 NodeJS 依赖包
    npm install
    
    # 安装适用于 x64 CPU 架构的 C/C++ 依赖库
    lcpkg install --arch x64
    
    # 以调试模式运行应用程序
    lcpkg run start --mode debug
    
  3. Use  lckg  package management tools:

    # 初始化 lcpkg 配置文件,告诉 lcpkg 你的项目相关信息
    lcpkg init
    
    # 从 GitHub 下载安装已编译好的 LCUI 库
    lcpkg install github.com/lc-soft/LCUI
    

Note:  These tools are using JavaScript language, the installation before use  Node.js .

Rounded corners

Prior to this, because of the complexity and cost of time has not been rounded corners, but such is not the answer aside, a GUI development library and even a rounded borders can not be achieved, then that's too much water. Until recently, the component library new component requires rounded corners before deciding this feature included in development plans. The following are the current test renderings:

Now rendering algorithm is not the optimal solution, but the authors have been tossing this function Debu want to continue to improve anymore, interested can try to optimize it , so feel real charm of graphics rendering algorithms.

Canvas member

Canvas from the means for simplifying the drawing process definition graphics, refer to the specific usage  LC Design of Spinner component . Now only as a frame buffer use, all drawing operations require manual coding to achieve, if you want to have a rich graphics API, you can wait for the familiar cario, skia, OpenGL graphics library and other contributors to the contribution of the relevant code, the simplest approach is to graphics library drawing object into graphical objects LCUI used, the method is more complex reference  HTML 5 Canvas API document , based on a graphics library package a version of the C language API.

Guess you like

Origin www.oschina.net/news/110432/lcui-1-3-0-released