SWT migration to GTK+ 3.x : What is GDK ? What is GIMP ?

This is third post related to my new project – migration of SWT from GTK+ 2.x to GTK+ 3.x .

In order to successfully build SWT with GTK+ 3.x all deprecations must be resolved. Big chunk of deprecated methods are GDK methods.

What is GDK ?

GDK is GIMP Drawing Kit. Wikipedia states that GDK  “is a computer graphics library that acts as a wrapper around the low-level drawing and windowing functions provided by the underlying graphics system….GDK lies between the X server and the GTK+ library, handling basic rendering such as drawing primitives, raster graphics (bitmaps), cursors, fonts, as well as window events and drag-and-drop functionality.” ( more on GDK here )

GDK has a lot of tools for most of the use cases  that one might need. I have found very informative GDK reference manual on their website .

What is GIMP ?

If GDK is GIMP Drawing Kit, it would be important to find out – What is GIMP. Thankfully GIMP has huge website that describes what it does in many languages. If you are interested, please visit   http://www.gimp.org  to find out more.

Making story short – GIMP is open-source drawing software used for image editing, free-form drawing and other manipulation with images and photos.

GIMP Screenshot

Image is taken from: http://redskiesatnight.com

GDK was originally developed for GIMP, however  it is used in many  places including SWT as GIMP toolkit called GTK+. With new release of GTK+, several steps needed to be taken to successfully migrate from old GTK+ 2.x to new GTK+ 3.x. As I have already mentioned –  one of the major steps is to implement Cairo library for drawing instead of deprecated GDK methods.

Check out more posts on “SWT migration From GTK+ 2 to GTK+ 3”

About the author

Anatoly Spektor

IT Consultant with 6 years experience in Software Development and IT Leadership. Participated in such projects as Eclipse IDE, Big Blue Button, Toronto 2015 Panam Games.

View all posts

Leave a Reply

Your email address will not be published. Required fields are marked *