1. 19 Jun, 2021 1 commit
    • Christian Hergert's avatar
      textview: give application developers access to RTL and LTR context · a6101f01
      Christian Hergert authored
      This allows developers to modify the pango context that is used when
      rendering text within the text view.
      
      Such access can be useful to alter how rounding occurs with API such as
      pango_context_set_round_glyph_positions() and is needed by GtkSourceView
      for proper placement of glyphs within the overview map.
      a6101f01
  2. 22 May, 2021 1 commit
  3. 05 Aug, 2020 1 commit
  4. 24 Jul, 2020 3 commits
  5. 12 May, 2020 1 commit
  6. 11 May, 2020 1 commit
  7. 21 Feb, 2020 1 commit
  8. 04 Oct, 2019 2 commits
    • Christian Hergert's avatar
      textview: use GtkTextViewChild for border and overlay children · fea2a82e
      Christian Hergert authored
      This creates a new GtkTextViewChild that can manage overlay children at
      given x,y offsets in buffer coordinates. This simplifies GtkTextView by
      extracting this from GtkTextWindow as well as providing a real widget for
      the borders.
      
      With this change, we also rename gtk_text_view_add_child_in_window() to
      gtk_text_view_add_overlay(). For those that were using
      GTK_TEXT_WINDOW_WIDGET, they can use a GtkOverlay. It does not appear
      that anyone was using GTK_TEXT_WINDOW_(LEFT|RIGHT|TOP|BOTTOM) for widgets
      in this fashion, but that can be done by setting a gutter widget with
      gtk_text_view_set_gutter(). We can make GtkTextViewChild public if
      necessary to simplify this should it become necessary.
      
      GtkTextViewChild will setup a CSS node of either "text" or "border"
      depending on the GtkTextWindowType.
      
      The old GtkTextViewChild has been renamed to AnchoredChild as it is only
      used for widgets with anchors in the GtkTextBuffer. This also removes the
      use of allocated GSList and instead embeds a GQueue and GList to save a
      few extraneous allocations.
      fea2a82e
    • Christian Hergert's avatar
      textview: revert renaming of buffer_to_surface_coords() · 8373cc6c
      Christian Hergert authored
      The renaming of this function doesn't make much since because the window
      is the GtkTextWindowType, not GdkWindow specifically. So we can keep the
      old name which is closer to the proper meaning and less code for consumers
      to change when porting to 4.x.
      8373cc6c
  9. 16 Sep, 2019 1 commit
  10. 13 Jun, 2019 1 commit
  11. 26 May, 2019 1 commit
  12. 22 Dec, 2018 1 commit
    • Tomasz Miąsko's avatar
      Annotate values of PRIORITY constants · c665a1d5
      Tomasz Miąsko authored and Christoph Reiter's avatar Christoph Reiter committed
      g-ir-scanner incorrectly evaluates macro definition that include
      references to other macro definitions. Provide a correct value as an
      annotation.
      
      Differences in generated gir files:
      
      ```diff
      @@ -19017 +19017 @@
      -    <constant name="PRIORITY_REDRAW" value="20" c:type="GDK_PRIORITY_REDRAW">
      +    <constant name="PRIORITY_REDRAW" value="120" c:type="GDK_PRIORITY_REDRAW">
      @@ -74229,3 +74229,3 @@
           </constant>
      -    <constant name="PRIORITY_RESIZE" value="10" c:type="GTK_PRIORITY_RESIZE">
      +    <constant name="PRIORITY_RESIZE" value="110" c:type="GTK_PRIORITY_RESIZE">
             <doc xml:space="preserve">Use this priority for functionality related to size allocation.
      @@ -106786,3 +106786,3 @@
           <constant name="TEXT_VIEW_PRIORITY_VALIDATE"
      -              value="5"
      +              value="125"
                     c:type="GTK_TEXT_VIEW_PRIORITY_VALIDATE">
      ```
      
      See !472
      c665a1d5
  13. 14 Jul, 2018 1 commit
  14. 05 May, 2018 1 commit
  15. 21 Mar, 2018 1 commit
  16. 20 Mar, 2018 1 commit
    • Alexander Larsson's avatar
      GdkSurface: Rename various functions and variables · 9a7e7211
      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
      9a7e7211
  17. 06 Feb, 2018 1 commit
    • Matthias Clasen's avatar
      The big versioning cleanup · 4c150d8e
      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.
      4c150d8e
  18. 29 Dec, 2017 1 commit
  19. 22 Nov, 2017 1 commit
  20. 04 Nov, 2017 1 commit
  21. 16 Jul, 2017 1 commit
  22. 01 Nov, 2016 1 commit
    • Matthias Clasen's avatar
      Make GtkTextAttributes private · 745c348f
      Matthias Clasen authored
      This is a problematic struct, and giving direct access to it
      has kept us from making improvements to GtkTextView. Drop it
      from the public API, together with the auxiliary APIs. If
      it turns out that this functionality is needed, we should add
      individual getters.
      745c348f
  23. 22 Oct, 2016 1 commit
  24. 20 May, 2016 1 commit
  25. 10 Feb, 2016 1 commit
    • Matthias Clasen's avatar
      text view: Improve tag pointer tracking · a3a5cf10
      Matthias Clasen authored
      A problem that has been observed in polari is that links in tags
      are clickable all the way into the margin. This problem is caused
      by gtk_text_view_get_iter_at_position ignoring the return value
      of pango_layout_xy_to_index. Instead, pass it back as a boolean
      return value. This is technically an API break, but we've allowed
      ourselves to change return types from void to gboolean before.
      a3a5cf10
  26. 18 Jan, 2016 1 commit
  27. 10 Nov, 2015 1 commit
    • Alexander Larsson's avatar
      TextView: Use saner coordinate space in draw_layer. · 0af45763
      Alexander Larsson authored
      When I added the draw_layer vfunc it accidentally got passed a cairo_t
      that was configured with to draw in the viewport coordinate space (rather
      than the buffer coordinate space). This makes things unnecessary complex,
      because you have to convert between the two.
      
      The pixel cache is shared between the text and the layers, so there is
      no way to use draw_layer to get a stationary overlay effect. Thus it makes
      much more sense for the draw_layer vfunc to draw in the buffer space.
      
      Just changing this would break ABI for existing code, so this is fixed
      by adding new layer types and deprecating the old ones.
      
      Also, we use the new layer types to fix gtk3-widget-factory.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=757856
      0af45763
  28. 17 Aug, 2015 1 commit
  29. 20 Jun, 2015 1 commit
  30. 17 Dec, 2014 1 commit
  31. 07 Oct, 2014 2 commits
  32. 13 Aug, 2014 1 commit
  33. 28 Jul, 2014 1 commit
    • Alexander Larsson's avatar
      textview: Add draw_layer vfunc · 5b53eb28
      Alexander Larsson authored
      This allows subclasses to render things below and above the text
      in the text view. This allows e.g. GtkSourceView to highlight the
      cursor row and to render overlays for colum 80. This used to be done
      by rendering before/after chaining up to the parent, but that doesn't
      work anymore since the view now renders a background, and due to the
      use of the pixel cache.
      5b53eb28
  34. 21 Jan, 2014 1 commit
  35. 26 Sep, 2013 1 commit
  36. 05 May, 2013 1 commit