- General — Library initialization and versioning
- GdkDisplayManager — Maintains a list of all open GdkDisplays
- GdkDisplay — Controls a set of monitors and their associated input devices
- GdkSeat — Object representing a user seat
- GdkDevice — Object representing an input device
- GtkDevicePad — Pad device interface
- GdkMonitor — Object representing an output
- GdkRectangle — Simple graphical data type
- GdkTexture — Pixel data
- GdkPaintable — An interface for a paintable region
- GdkRGBA — RGBA colors
- Cursors — Named and texture cursors
- Surfaces — Onscreen display areas in the target window system
- Toplevels — Interface for toplevel surfaces
- GdkToplevelLayout — Information for presenting toplevels
- GdkToplevelSize — Information for computing toplevel size
- Popups — Interface for popup surfaces
- GdkPopupLayout — Information for presenting popups
- GdkFrameClock — Synchronizes painting to a surface
- Frame timings — Object holding timing information for a single frame
- GdkDrawContext — Base class for draw contexts
- GdkGLContext — OpenGL draw context
- GdkVulkanContext — Vulkan draw context
- GdkCairoContext — Cairo draw context
- Events — Functions for handling events from the window system
- Key Values — Functions for manipulating keyboard codes
- Clipboards — Share data between applications for Copy-and-Paste
- Drag And Drop — Functions for controlling drag and drop handling
- Content Formats — Advertising and negotiating of content exchange formats
- GdkContentProvider — Provides content for data transfer between applications
- GdkContentSerializer — Serialize content for transfer
- GdkContentDeserializer — Deserialize content for transfer
- GdkPixbuf Interaction — Functions for obtaining pixbufs
- Pango Interaction — Using Pango in GDK
- Cairo Interaction — Functions to support using cairo