- 12 Sep, 2021 1 commit
-
-
Benjamin Otte authored
It's broken with various pixel formats and OpenGL ES, it's hard to understand what everything does, and gdk_texture_download() can be used instead.
-
- 25 Sep, 2020 1 commit
-
-
Alexander Larsson authored
There is nothing really special about this code, its just a helper for uploading pixel data to opengl, and we're not really in the business of doing opengl-specific helper functions.
-
- 24 Jul, 2020 1 commit
-
-
Benjamin Otte authored
-
- 13 Feb, 2020 1 commit
-
-
Benjamin Otte authored
The function is fundamentally broken for unbounded surfaces. If a surface is unbounded, we cannot represent this as a cairo_rectangle_int_t, and using the return value doesn't work because it's already used for something else. In GTK3, unbounded surfaces aren't a problem, but GTK4 uses recording surfaces. So better remove that function before we keep using it and using it wrong.
-
- 04 Feb, 2020 1 commit
-
-
We're not in the business of adding Cairo APIs. That's Cairo's job. Also, we don't need this API anywhere like the original commit claimed, so there's no need to make it available in any way. This reverts commit afa6cc23.
-
- 30 Jan, 2020 1 commit
-
-
Alexander Larsson authored
Most of these stem from the GtkIconInfo -> GtkIcon rename
-
- 29 Jan, 2020 1 commit
-
-
Alexander Larsson authored
This is useful in some parts of the icon theme APIs.
-
- 27 Nov, 2019 1 commit
-
-
Emmanuele Bassi authored
We use a compilation symbol in our build to allow the inclusion of specific headers while building GTK, to avoid the need to include only the global header. Each namespace has its own compilation symbol because we used to have different libraries, and strict symbol visibility between libraries; now that we have a single library, and we can use private symbols across namespaces while building GTK, we should have a single compilation symbol, and simplify the build rules.
-
- 24 Apr, 2018 1 commit
-
-
Benjamin Otte authored
All information is kept in GdkDrawContext these days, so use that one.
-
- 12 Apr, 2018 2 commits
-
-
Benjamin Otte authored
It's unused and people should use textures and snapshots anyway.
-
Benjamin Otte authored
It's unused.
-
- 20 Mar, 2018 3 commits
-
-
Alexander Larsson authored
Mostly these are internal things, but the major public change is that event.window is now event.surface.
-
Alexander Larsson authored
This is an automatic rename of various things related to the window->surface rename. Public symbols changed by this is: GDK_MODE_WINDOW gdk_device_get_window_at_position gdk_device_get_window_at_position_double gdk_device_get_last_event_window gdk_display_get_monitor_at_window gdk_drag_context_get_source_window gdk_drag_context_get_dest_window gdk_drag_context_get_drag_window gdk_draw_context_get_window gdk_drawing_context_get_window gdk_gl_context_get_window gdk_synthesize_window_state gdk_surface_get_window_type gdk_x11_display_set_window_scale gsk_renderer_new_for_window gsk_renderer_get_window gtk_text_view_buffer_to_window_coords gtk_tree_view_convert_widget_to_bin_window_coords gtk_tree_view_convert_tree_to_bin_window_coords The commands that generated this are: git sed -f g "GDK window" "GDK surface" git sed -f g window_impl surface_impl (cd gdk; git sed -f g impl_window impl_surface) git sed -f g WINDOW_IMPL SURFACE_IMPL git sed -f g GDK_MODE_WINDOW GDK_MODE_SURFACE git sed -f g gdk_draw_context_get_window gdk_draw_context_get_surface git sed -f g gdk_drawing_context_get_window gdk_drawing_context_get_surface git sed -f g gdk_gl_context_get_window gdk_gl_context_get_surface git sed -f g gsk_renderer_get_window gsk_renderer_get_surface git sed -f g gsk_renderer_new_for_window gsk_renderer_new_for_surface (cd gdk; git sed -f g window_type surface_type) git sed -f g gdk_surface_get_window_type gdk_surface_get_surface_type git sed -f g window_at_position surface_at_position git sed -f g event_window event_surface git sed -f g window_coord surface_coord git sed -f g window_state surface_state git sed -f g window_cursor surface_cursor git sed -f g window_scale surface_scale git sed -f g window_events surface_events git sed -f g monitor_at_window monitor_at_surface git sed -f g window_under_pointer surface_under_pointer (cd gdk; git sed -f g for_window for_surface) git sed -f g window_anchor surface_anchor git sed -f g WINDOW_IS_TOPLEVEL SURFACE_IS_TOPLEVEL git sed -f g native_window native_surface git sed -f g source_window source_surface git sed -f g dest_window dest_surface git sed -f g drag_window drag_surface git sed -f g input_window input_surface git checkout NEWS* po-properties po docs/reference/gtk/migrating-3to4.xml
-
Alexander Larsson authored
This renames the GdkWindow class and related classes (impl, backend subclasses) to surface. Additionally it renames related types: GdkWindowAttr, GdkWindowPaint, GdkWindowWindowClass, GdkWindowType, GdkWindowTypeHint, GdkWindowHints, GdkWindowState, GdkWindowEdge This is an automatic conversion using the below commands: git sed -f g GdkWindowWindowClass GdkSurfaceSurfaceClass git sed -f g GdkWindow GdkSurface git sed -f g "gdk_window\([ _\(\),;]\|$\)" "gdk_surface\1" # Avoid hitting gdk_windowing git sed -f g "GDK_WINDOW\([ _\(]\|$\)" "GDK_SURFACE\1" # Avoid hitting GDK_WINDOWING git sed "GDK_\([A-Z]*\)IS_WINDOW\([_ (]\|$\)" "GDK_\1IS_SURFACE\2" git sed GDK_TYPE_WINDOW GDK_TYPE_SURFACE git sed -f g GdkPointerWindowInfo GdkPointerSurfaceInfo git sed -f g "BROADWAY_WINDOW" "BROADWAY_SURFACE" git sed -f g "broadway_window" "broadway_surface" git sed -f g "BroadwayWindow" "BroadwaySurface" git sed -f g "WAYLAND_WINDOW" "WAYLAND_SURFACE" git sed -f g "wayland_win...
-
- 06 Feb, 2018 1 commit
-
-
Matthias Clasen authored
Remove all the old 2.x and 3.x version annotations. GTK+ 4 is a new start, and from the perspective of a GTK+ 4 developer all these APIs have been around since the beginning.
-
- 20 Nov, 2016 1 commit
-
-
Benjamin Otte authored
The functions gdk_pixbuf_get_from_window() and gdk_cairo_set_source_window() are unreliable and depend on the windowing system (they work great on X11 and Win32, less so on Quartz and Wayland). With the switch to new drawing API and OpenGL, we can definitely no longer support a generic way to snapshot windows. People should either write windowsystem-specific code or draw their widgets directly - like with gtk_widget_draw() - if they need to get a rendering.
-
- 01 Nov, 2016 1 commit
-
-
Matthias Clasen authored
It is deprecated and no longer used.
-
- 24 Oct, 2016 1 commit
-
-
Rico Tzschichholz authored
-
- 18 Oct, 2016 1 commit
-
-
Emmanuele Bassi authored
The surface-to-GL upload logic has become more complicated with the addition of the GLES code paths; it's more logical to have a public utility function that can be called from GDK users, instead of copy pasting the whole thing multiple times.
-
- 16 Oct, 2016 1 commit
-
-
Benjamin Otte authored
You now have to use a GdkDrawingContext
-
- 09 Jun, 2016 3 commits
-
-
Emmanuele Bassi authored
We have GdkDrawingContext, now, which is in charge of creating Cairo contexts for drawing on a GdkWindow. https://bugzilla.gnome.org/show_bug.cgi?id=766675
-
Emmanuele Bassi authored
Instead of associating the GdkWindow that created the GdkDrawingContext we can directly bind the Cairo context to the GDK drawing context. Cairo contexts created via gdk_cairo_create() go back to not having a GdkWindow associated to them, like they did before we introduced the gdk_window_begin_draw_frame() API. https://bugzilla.gnome.org/show_bug.cgi?id=766675
-
Emmanuele Bassi authored
Existing code drawing on a GDK window has to handle the direct drawing and the buffered drawing by itself, by checking the window type and whether or not the window is backed by a native windowing surface. After that, the calling code has to create a Cairo context from the window and keep an association between the context and the window itself. This is completely unnecessary: GDK can determine whether or not it should use a backing store to draw on a GdkWindow as well as create a Cairo context, and keep track of it. This allows to simplify the calling code, and enforce some of the drawing behavior we want to guarantee to users. https://bugzilla.gnome.org/show_bug.cgi?id=766675
-
- 13 Oct, 2014 1 commit
-
-
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.
-
- 22 May, 2014 1 commit
-
-
Matthias Clasen authored
It has been replaced by GdkRGBA. Time to make it official. http://bugzilla.gnome.org/show_bug.cgi?id=636695
-
- 03 Jul, 2013 1 commit
-
-
Alexander Larsson authored
-
- 05 May, 2013 1 commit
-
-
Matthias Clasen authored
This is in preparation to modernizing our handing of exported symbols.
-
- 28 Dec, 2012 1 commit
-
-
Matthias Clasen authored
gcc has optimizations for include guards that only work if they are outermost in the the header. https://bugzilla.gnome.org/show_bug.cgi?id=689810
-
- 27 Feb, 2012 2 commits
-
-
Javier Jardón authored
-
Matthias Clasen authored
This patch changes all uses of GDK_DEPRECATED(_FOR) in gdk headers by the versioned variants, GDK_DEPRECATED_IN_3_x(_FOR). At the same time, we add GDK_AVAILABLE_IN_3_x annotations for all API additions in 3.2 and 3.4.
-
- 22 Dec, 2011 1 commit
-
-
Javier Jardón authored
-
- 22 Nov, 2011 2 commits
-
-
Matthias Clasen authored
This reverts commit c5e4af76.
-
Matthias Clasen authored
There's no sign of Pango in this header, so no need to include pangocairo.h
-
- 09 Feb, 2011 1 commit
-
-
Matthias Clasen authored
-
- 04 Dec, 2010 2 commits
-
-
-
Carlos Garnacho authored
-
- 02 Dec, 2010 2 commits
-
-
Benjamin Otte authored
This is not strictly an API change as GdkDrawable is typedeffed to GdkWindow, but it changes the header, so I'm marking it as such. gdk_cairo_create() can only be used with windows these days, so it makes sense to pass a window. With that, we can alseo remove the set_cairo_clip() vfunc from GdkDrawable and implement it inside gdkwindow.c.
-
Benjamin Otte authored
You should not ever ever ever call cairo_reset_clip(). If you do, your code is broken and you deserve everything you get. And we should definitely not support this insanity.
-
- 22 Oct, 2010 1 commit
-
-
Carlos Garnacho authored
GdkRGBA is a boxed struct similar to GdkColor, with the difference that it stores alpha information as well, and colors are stored in [0..1] doubles, in the cairo spirit. gdk_cairo_set_source_rgba() has been also added to allow easier handling of this new type.
-
- 26 Sep, 2010 1 commit
-
-
Benjamin Otte authored
-