Skip to content

Ikari2015/XGac

 
 

Repository files navigation

XGac: a X11/Cairo/Pango port of GacLib

Build Status

License

XGac is distributed under Microsoft Public License (MS-PL).

Rendering components of XGac depends on Cairo and Pango, which are licensed under the GNU Lesser General Public License (LGPL). Please follow the requirements of these libraries when distributing your application.

Status

XGac is still in early development stage. It is definitely not ready for production usage.

Pull requests and issue reports are welcomed.

Dependencies

  • Xlib (libx11) with extensions
  • Cairo and its Xlib backend
  • Pango and its Cairo backend

Requirements

Gaclib uses a global mouse hook to handle pop-up windows. To implement these hook function, XGac requires XRecord extension enabled on X Server.

XDBE (Double Buffer Extension) is used for double buffering. Without this extension XGac will still work but without double buffering.

Build instructions

Included CMake makefiles can be used to build the examples on Linux/OSX systems.

Instructions on how to use XGac in production will be given once XGac reaches stable.

TODOs

  • Window related functions
  • Bitmap/Image handling
  • TextBox/RichTextEditor renderer
  • Multi-monitor handling (Xinerama/Xrandr)
  • Cairo-GL based, hardware accelerated backend
  • Input method support

Known issues

  • Double buffering causes problem while resizing windows
  • Pop-up windows flash on left-top under XQuartz before showing up on right position
  • Pop-up windows would not hide in Window Manager's list
  • Pop-up windows would not keep on top of stack

About

X11/Cairo/Pango port of GacLib

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.0%
  • CMake 3.9%
  • Python 3.2%
  • C 0.9%