SourceForge.net Logo CinePaint Logo
Home Press Mailing List Documentation Screenshots People SourceForge Downloads

Gtk+OSX Developer's Roadmap -- the DR

Gtk+OSX improvements can fall into three categories: Low Level, Input Support, and Windowing.

Our Mission

To port Gtk+1.2 to Mac OS X. Allowing Gtk based applications such as CinePaint or Gimp to
simply be recompiled to run natively.

Getting Involved

Some useful documentation can be found at:
Apple Developer Connection : http://developer.apple.com/
Gtk API reference : http://www.gtk.org/api/
Online XLib Manual : http://www.the-labs.com/X11/XLib-Manual/

** Low Level **

Carbon Event Support
Goal: To move from the Classic Event model currently implemented, to the Carbon Event model.
Benefits: This will improve the efficiency of the event loop, allowing the operating system to monitor events rather than the application.
Examples:
Details:
Developers: Brian Griffith
ETA: August 2004

Drag 'n Drop Support
Goal: To emulate the X11 drag n drop protocol.
Benefits: Will allow gtk applications to handle drag n drop events
Examples:
Details:
Developers:
ETA:

Font Support
Goal: To complete the font support in Gtk+OSX
Benefits: Will help with text metrics for widgets.
Examples:
Details: gdkfont.c
Developers:
ETA:

Colormap Support
Goal: Add support for colormaps
Benefits: This will help for the imaging applications that use Gtk colormaps to be consistent along all the platforms.
Examples: CinePaint, Gimp
Details: gdkprivate.h, gdkcolor.c, gdkcc.c
Developers:
ETA:

Selections
Goals: Emulate the X Selection protocol, for the functions found in gdkselection.c
Benefits: Will allow for transferring data via the X selection mechanism.
Examples:
Details: gdkselection.c
Developers:
ETA:

** Windowing **

Window Refreshing
Goals: To improve window refreshing
Benefits:
Examples: See the font dialog widget
Details: Currently when using tabbed widgets, such as in the font dialog, jumping between the tabs causes a refresh problem.
Developers:
ETA:

Menu Support
Goals: Improve the menu support
Benefits:
Examples:
Details: Currently menus can be active, yet placed under their parent window.
Developers:
ETA:

Window Hints
Goals: Provide implementation for gdk_window_set_geometry_hints
Benefits: This will enable windows to know the maximum and minimum sizes for a window.
Examples:
Details:
Developers:
ETA:

Drawing Primitives Support
Goals: Implement the primitive drawing routines found in gdkdraw.c
Benefits: This will enable windows to know the maximum and minimum sizes for a window.
Examples:
Details:
Developers:
ETA:

** Input Devices **

Mouse Cursors From Pixmap
Goals: Support pixmap based cursors
Benefits: Will enable applications to use custom cursors.
Examples:
Details:
Developers:
ETA:

Mouse Cursors From Resource
Goals: To support the various native Gtk cursors through a resource file.
Benefits: This will allow applications that rely on the native Gtk cursors to function properly.
Examples: See the cursors example in gtktestthing
Details:
Developers:
ETA:

Mouse w/ Modifier Keys
Goals: Support for modifier keys (ctl, alt, etc.) when mouse buttons are pressed.
Benefits: This will allow for applications that take advantage of tasks such as control clicking.
Examples: CinePaint, Gimp
Details:
Developers:
ETA:

Keyboard Repeat
Goals: To provide implementations for gdk_key_repeat_disable, and gdk_key_repeat_restore
Benefits: Will improve the text widget keyboard support.
Examples:
Details:
Developers:
ETA:

Pressure Sensitive Tablet Support
Goals: Provide support for pressure sensitive tablets.
Benefits: This will allow artists to use their tablets with the various gtk based paint programs.
Examples: CinePaint, Gimp
Details:
Developers:
ETA:


Questions to rower@movieeditor.com
Created August 18, 2003 updated August 18, 2003