summaryrefslogtreecommitdiff
path: root/gdk/gdk.h
Commit message (Collapse)AuthorAgeFilesLines
* gdk: Split enums from typesBenjamin Otte2021-10-261-0/+1
| | | | | | Add gdkenums.h for enums and keep gdktypes.h for types. Makes both files easier to read.
* gdk/toplevel: Negotiate surface size via a compute-size signalJonas Ådahl2020-08-051-0/+1
| | | | | | | | | | | | | | | | | | | | | GTK will not up front know how to correctly calculate a size, since it will not be able to reliably predict the constraints that may exist where it will be mapped. Thus, to handle this, calculate the size of the toplevel by having GDK emitting a signal called 'compute-size' that will contain information needed for computing a toplevel window size. This signal may be emitted at any time, e.g. during gdk_toplevel_present(), or spontaneously if constraints change. This also drops the max size from the toplevel layout, while moving the min size from the toplevel layout struct to the struct passed via the signal, This needs changes to a test case where we make sure we process GDK_CONFIGURE etc, which means we also needs to show the window and process all pending events in the test-focus-chain test case.
* Add a GdkDragSurface interfaceMatthias Clasen2020-03-121-0/+1
| | | | This will provide functionality specific to drag icons.
* Introduce GdkToplevelMatthias Clasen2020-03-121-5/+7
| | | | This is a new interface for toplevel surfaces.
* Introduce GdkToplevelLayoutMatthias Clasen2020-03-121-0/+1
| | | | | This will be used in a new GdkTopleve interface in the near future.
* Introduce GdkPopupMatthias Clasen2020-03-111-0/+1
| | | | This is a new interface for popup surfaces.
* gdk: Remove gdk_text_property_to_utf8_list_for_display()Benjamin Otte2020-02-231-1/+0
| | | | | A lot of files became empty now, so they have been removed, which makes this commit seem larger than it is.
* Drop the public profiler apiMatthias Clasen2019-05-081-1/+0
| | | | | I meant to do this before merging the profiler support. Somehow the commit got lost.
* gdk: Add a profilerMatthias Clasen2019-05-071-0/+1
| | | | | | | This is writing data in the capture format of sysprof, using the SpCaptureWriter. For now, this is using a vendored copy of libsysprof. Eventually, we want to use the static library that sysprof provides.
* dnd: Rename headersMatthias Clasen2018-07-021-1/+1
| | | | | | | Rename gdkdnd.h to gdkdrag.h, to go along with gdkdrop.h This commit includes the necessary updates to the X11, Wayland and Broadway backends. Other backends have to be updated separately.
* dnd: Add GdkDrop base class for GdkDragContextBenjamin Otte2018-06-181-0/+1
| | | | | | | | | | | | | | | The ultimate goal of this patch series is to split GdkDragContext into GdkDrop + GdkDrag classes for the destination and source side of a dnd operation. The refactoring is meant to work something like this: 1. Introduce GdkDrop as a base class 2. Make all drop related code (like GdkEvent) use GdkDrop instead of GdkDragContext. Move/duplicate APIs to allow that. 3. Port all drop contexts in the backends from GdkDragContext to GdkDrop 4. Delete all APIs in GdkDragContext that aren't needed anymore. 5. Make GdkDragContext no longer a GdkDrop subclass 6. Rename GdkDragContext to GdkDrag
* gdk: Get rid of GdkDrawingContextBenjamin Otte2018-04-241-1/+0
| | | | All information is kept in GdkDrawContext these days, so use that one.
* gdk: Add GdkCairoContextBenjamin Otte2018-04-241-0/+1
| | | | | | | | This does nothing but disallow passing NULL to gdk_surface_begin_paint() and instead require this context. The ultimate goal is to split out Cairo drawing into its own source file so it doesn't clutter up the generic rendering path.
* GdkWindow -> GdkSurface: File renamesAlexander Larsson2018-03-201-1/+1
| | | | | | | | | | | | | Rename all *window.[ch] source files. This is an automatic operation, done by the following commands: for i in $(git ls-files gdk | grep window); do git mv $i $(echo $i | sed s/window/surface/); git sed -f g $(basename $i) $(basename $i | sed s/window/surface/) ; done git checkout NEWS* po-properties po
* snapshot: Turn into GObjectBenjamin Otte2018-03-181-0/+1
| | | | | | | This makes GdkSnapshot the base class for GtkSnapshot and hopefully stops confusing bindings. C code should see no difference to before.
* gdk: Add GdkPaintableBenjamin Otte2018-03-161-0/+1
|
* texture: Export gdk_memory_texture_new() and GdkMemoryFormatBenjamin Otte2018-03-121-0/+1
| | | | Also add tests for all these newfangled formats.
* gdk: Split out GL textureBenjamin Otte2018-03-071-0/+1
| | | | | | | Put GdkGLTexture into its own file and rename the API to gdk_gl_texture_foo() instead of gdk_texture_foo_for_gl(). Apart from naming, no actual code changes.
* Remove all gdk_threads_* entry pointsEmmanuele Bassi2018-02-031-1/+0
| | | | | | Now that we don't use them anywhere, it's time for them to go. https://bugzilla.gnome.org/show_bug.cgi?id=793124
* gdk: Remove selection definesBenjamin Otte2017-12-141-1/+0
| | | | | | And with it, remove the selections section from the docs. So selections are gone for good now.
* clipboard: Add serializationBenjamin Otte2017-12-031-0/+1
| | | | This completes the local clipboard code.
* clipboard: Introduce GdkContentProviderBenjamin Otte2017-12-031-0/+2
| | | | | | | | | | | GdkContentProvider is the object that represents local data in the clipboard. This patch only introduces the object and adds the clipboard properties, it does not yet provide a way for the actual implementations to access it. The only access that is implemented is the local shortcut GValue access.
* gdk: Im[plement content deserializingBenjamin Otte2017-12-031-0/+1
| | | | | Add infrastructure to do GInputStream => GType conversions. Use that to implement gdk_clipboard_read_value() which reads into GValues.
* gdk: A GdkClipboard API draftMatthias Clasen2017-12-031-0/+1
| | | | | This commit adds a GdkClipboard object which is intended to replace GtkClipboard, eventually.
* Drop GdkDeviceManager entirelyMatthias Clasen2017-11-251-1/+0
| | | | Nothing uses it anymore.
* gdk: Move GtkTargetList to GDKBenjamin Otte2017-11-201-0/+1
| | | | | | It's gonna be renamed next, so put it in the right source file already. For now retain the old name to keep the diff small.
* Stop including gdkmain.hMatthias Clasen2017-11-171-1/+0
| | | | It is empty now.
* GskTexture => GdkTextureBenjamin Otte2017-11-041-0/+1
| | | | We want this thing to replace GdkPixbuf, so it has to live in GDK.
* Drop GdkScreen from public apiMatthias Clasen2017-11-011-1/+0
| | | | | It is still used by some of the backends, so keep the files around.
* Drop gdkvisual.h from the installed headers.Matthias Clasen2017-10-311-1/+0
|
* gdk: Remove testing functionsBenjamin Otte2017-01-081-1/+0
| | | | They were unused and unimplemented.
* vulkan: Initial supportBenjamin Otte2016-12-091-0/+1
| | | | | | | Adds the gdk_display_ref_vulkan() and gdk_display_unref_vulkan() functions which setup/tear down VUlkan support for the display. Nothing is using those functions yet.
* gdk: Add GdkDrawContextBenjamin Otte2016-12-051-0/+1
| | | | This will be the base class for GdkVulkanContext and GdkGLContext.
* Drop GdkColorMatthias Clasen2016-11-011-4/+0
| | | | It is deprecated and no longer used.
* gdk: Add GdkDevicePadCarlos Garnacho2016-08-231-0/+1
| | | | | | | | | | | | This is an interface meant to be implemented by the "pad" devices. This device-specific interface exposes the mapping of all pad features, it allows retrieving: - The number of buttons/rings/strips - The number of groups - The number of modes a group has - Whether a given button/ring/strip belongs to a given group https://bugzilla.gnome.org/show_bug.cgi?id=770026
* Add GdkDrawingContextEmmanuele Bassi2016-06-091-0/+1
| | | | | | | | | Instead of giving out Cairo contexts, GdkWindow should provide a "drawing context", which can then create Cairo contexts on demand; this allows us to future proof the API for when we're going to use a different rendering pipeline, like OpenGL. https://bugzilla.gnome.org/show_bug.cgi?id=766675
* Add GdkMonitorMatthias Clasen2016-04-271-0/+1
| | | | Add a simple object representing a monitor.
* Move GdkDeviceTool into its own filesMatthias Clasen2016-04-091-0/+1
|
* gdk: Add GdkSeatCarlos Garnacho2015-12-151-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=759309
* gdk: Add support for g_autoptr()Alexander Larsson2015-02-021-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=743640
* gdk: Add support for OpenGLAlexander Larsson2014-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the new type GdkGLContext that wraps an OpenGL context for a particular native window. It also adds support for the gdk paint machinery to use OpenGL to draw everything. As soon as anyone creates a GL context for a native window we create a "paint context" for that GdkWindow and switch to using GL for painting it. This commit contains only an implementation for X11 (using GLX). The way painting works is that all client gl contexts draw into offscreen buffers rather than directly to the back buffer, and the way something gets onto the window is by using gdk_cairo_draw_from_gl() to draw part of that buffer onto the draw cairo context. As a fallback (if we're doing redirected drawing or some effect like a cairo_push_group()) we read back the gl buffer into memory and composite using cairo. This means that GL rendering works in all cases, including rendering to a PDF. However, this is not particularly fast. In the *typical* case, where we're drawing directly to the window in the regular paint loop we hit the fast path. The fast path uses opengl to draw the buffer to the window back buffer, either by blitting or texturing. Then we track the region that was drawn, and when the draw ends we paint the normal cairo surface to the window (using texture-from-pixmap in the X11 case, or texture from cairo image otherwise) in the regions where there is no gl painted. There are some complexities wrt layering of gl and cairo areas though: * We track via gdk_window_mark_paint_from_clip() whenever gtk is painting over a region we previously rendered with opengl (flushed_region). This area (needs_blend_region) is blended rather than copied at the end of the frame. * If we're drawing a gl texture with alpha we first copy the current cairo_surface inside the target region to the back buffer before we blend over it. These two operations allow us full stacking of transparent gl and cairo regions.
* Deprecate GdkColorMatthias Clasen2014-05-221-1/+4
| | | | | It has been replaced by GdkRGBA. Time to make it official. http://bugzilla.gnome.org/show_bug.cgi?id=636695
* Include public headers in gdk.hMatthias Clasen2013-02-251-0/+2
| | | | | gdkframeclock.h and gdkframetimings.h were not directly included in gdk.h. They should.
* Change FSF AddressJavier Jardón2012-02-271-3/+1
|
* Add versioned deprecation macrosMatthias Clasen2012-02-271-0/+1
| | | | | | | | | | | | These macros follow the recent changes in GLibs deprecation setup. We now annotate deprecated functions with the version they were deprecated in, and you can define the macro GDK_VERSION_MIN_REQUIRED to cut off deprecation warnings for 'recent' deprecations. At the same time, we introduce version annotations for new API and allow you to avoid 'recent' API additions by defining GDK_VERSION_MAX_ALLOWED.
* Remove gdk_spawn functionsMatthias Clasen2010-12-211-1/+0
| | | | | | These functions were trivial g_spawn wrappers in all backends except for X11, and they can be easily replaced by g_app_info_create_for_commandline + GdkAppLaunchContext.
* Merge libgdk and libgtkMatthias Clasen2010-12-211-0/+1
| | | | | | | | | | | This commit does a number of things: - remove some dead wchar configury from configure.ac and gdkconfig.h - repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo macros for each included backend, include it in gdk.h and install it in $includedir instead of below $libdir - drop the backend from the library names - build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la It does not yet enable building multiple backends at the same time.
* Remove *_set_extension_events() and old API to query devices.Carlos Garnacho2010-12-171-1/+0
| | | | | | The old functions to get core pointer and devices list are gone as well. This slice is entirely replaced internally by multidevice handling and may just go.
* API: Remove gdkdrawable.h from public headersBenjamin Otte2010-12-021-1/+0
| | | | It continues to exist as a private header.
* Include gdkrgba.h2.91.2Matthias Clasen2010-10-251-0/+1
|