1. 04 Apr, 2018 1 commit
  2. 25 Apr, 2016 2 commits
  3. 29 Feb, 2016 1 commit
    • Matthias Clasen's avatar
      Don't use g_print for debug output · 2ee7fb18
      Matthias Clasen authored
      The g_print documentation explicitly says not to do this, since
      g_print is meant to be redirected by applications. Instead use
      g_message for logging that can be triggered via GTK_DEBUG.
      2ee7fb18
  4. 08 Jan, 2016 1 commit
    • Alberto Ruiz's avatar
      introspection: This patch fixes nullable return values fixes for the following symbols in gtk · 496f0892
      Alberto Ruiz authored
        gtk_accel_group_query
        gtk_accel_group_from_accel_closure
        gtk_accel_label_get_accel_widget
        gtk_accessible_get_widget
        gtk_actionable_get_action_name
        gtk_app_chooser_get_app_info
        gtk_app_chooser_button_get_heading
        gtk_app_chooser_dialog_get_heading
        gtk_application_get_window_by_id
        gtk_assistant_get_nth_page
        gtk_binding_set_find
        gtk_builder_get_object
        gtk_builder_lookup_callback_symbol
        gtk_builder_get_application
        gtk_button_get_image
        gtk_cell_area_get_focus_from_sibling
        gtk_cell_renderer_start_editing
        gtk_cell_view_get_model
        gtk_cell_view_get_displayed_row
        gtk_clipboard_get_owner
        gtk_container_get_focus_child
        gtk_container_get_focus_vadjustment
        gtk_container_get_focus_hadjustment
        gtk_dialog_get_widget_for_response
        gtk_drag_get_source_widget
        gtk_drag_dest_get_target_list
        gtk_drag_source_get_target_list
        gtk_entry_completion_get_model
        gtk_entry_completion_compute_prefix
        gtk_expander_get_label_widget
        gtk_file_chooser_get_filename
        gtk_file_chooser_get_current_folder
        gtk_file_chooser_get_uri
        gtk_file_chooser_get_current_folder_uri
        gtk_file_chooser_get_preview_widget
        gtk_file_chooser_get_preview_file
        gtk_file_chooser_get_preview_filename
        gtk_file_chooser_get_preview_uri
        gtk_file_chooser_get_extra_widget
        gtk_file_chooser_get_filter
        gtk_file_chooser_native_get_accept_label
        gtk_file_chooser_native_get_cancel_label
        gtk_file_filter_get_name
        gtk_font_chooser_get_font_family
        gtk_font_chooser_get_font_face
        gtk_font_chooser_get_font
        gtk_font_chooser_get_font_desc
        gtk_font_chooser_get_font_map
        gtk_frame_get_label
        gtk_gesture_get_device
        gtk_gesture_get_window
        gtk_gl_area_get_error
        gtk_header_bar_get_title
        gtk_header_bar_get_subtitle
        gtk_header_bar_get_custom_title
        gtk_icon_info_get_filename
        gtk_icon_view_get_path_at_pos
        gtk_icon_view_get_model
        gtk_image_get_pixbuf
        gtk_image_get_animation
        gtk_label_get_mnemonic_widget
        gtk_label_get_attributes
        gtk_check_version
        gtk_menu_button_get_popup
        gtk_menu_button_get_menu_model
        gtk_menu_button_get_align_widget
        gtk_menu_button_get_popover
        gtk_menu_item_get_submenu
        gtk_menu_item_get_accel_path
        gtk_native_dialog_get_title
        gtk_native_dialog_get_transient_for
        gtk_notebook_get_nth_page
        gtk_notebook_get_tab_label_text
        gtk_notebook_get_menu_label
        gtk_notebook_get_menu_label_text
        gtk_notebook_get_group_name
        gtk_notebook_get_action_widget
        gtk_offscreen_window_get_surface
        gtk_offscreen_window_get_pixbuf
        gtk_paned_get_child1
        gtk_paned_get_child2
        gtk_places_sidebar_get_location
        gtk_places_sidebar_get_nth_bookmark
        gtk_plug_get_socket_window
        gtk_popover_get_default_widget
        gtk_progress_bar_get_text
        gtk_recent_filter_get_name
        gtk_recent_manager_lookup_item
        gtk_settings_get_default
        gtk_socket_get_plug_window
        gtk_stack_sidebar_get_stack
        gtk_stack_switcher_get_stack
        gtk_style_context_get_section
        gtk_style_context_get_parent
        gtk_style_context_get_frame_clock
        gtk_test_find_widget
        gtk_text_buffer_get_mark
        gtk_text_tag_table_lookup
        gtk_text_view_get_tabs
        gtk_text_view_toggle_cursor_visible
        gtk_text_view_get_window
        gtk_toolbar_get_nth_item
        gtk_tool_button_get_label
        gtk_tool_button_get_icon_name
        gtk_tool_button_get_label_widget
        gtk_tool_button_get_icon_widget
        gtk_tool_palette_get_drop_item
        gtk_tool_palette_get_drop_group
        gtk_tree_model_filter_convert_child_path_to_path
        gtk_tree_model_filter_convert_path_to_child_path
        gtk_tree_model_sort_convert_child_path_to_path
        gtk_tree_model_sort_convert_path_to_child_path
        gtk_tree_view_get_column
        gtk_tree_view_get_bin_window
        gtk_tree_view_column_get_widget
        gtk_tree_view_column_get_tree_view
        gtk_widget_get_frame_clock
        gtk_window_group_get_current_device_grab
        GtkTextBufferSerializeFunc
      496f0892
  5. 14 Sep, 2015 1 commit
    • Alexander Larsson's avatar
      gtk: Stop setting GDK_EXPOSURE_MASK on random widgets · d5f17549
      Alexander Larsson authored
      These days exposure happens only on the native windows (generally the
      toplevel window) and is propagated down recursively. The expose event
      is only useful for backwards compat, and in fact, for double buffered
      widgets we totally ignore the event (and non-double buffering breaks
      on wayland).
      
      So, by not setting the mask we avoid emitting these events and then
      later ignoring them.
      
      We still keep it on eventbox, fixed and layout as these are used
      in weird ways that want backwards compat.
      d5f17549
  6. 12 Sep, 2015 1 commit
  7. 11 Jun, 2015 1 commit
  8. 26 Apr, 2015 1 commit
  9. 26 Mar, 2015 1 commit
  10. 25 Mar, 2015 1 commit
  11. 14 Mar, 2015 1 commit
  12. 17 Feb, 2015 1 commit
    • Emmanuele Bassi's avatar
      glarea: Better error handling · 0a4879b9
      Emmanuele Bassi authored
      Currently, GtkGLArea will leak GError instances set during the context
      creation, if an error is set.
      
      If any error is set post-context creation, it should be displayed even
      in the case a GL context exists; for instance, we can use the error
      display facility for shader compilation errors.
      0a4879b9
  13. 16 Feb, 2015 1 commit
  14. 15 Feb, 2015 1 commit
  15. 12 Feb, 2015 4 commits
  16. 09 Feb, 2015 2 commits
    • Emmanuele Bassi's avatar
      glarea: Do not use extension API · 5a3b28aa
      Emmanuele Bassi authored
      We are using GL contexts with Core GL profiles, so we need to use the
      proper API, not the one provided by extensions.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=741946
      5a3b28aa
    • Emmanuele Bassi's avatar
      GL: Split GL context creation in two phases · 22e6f37c
      Emmanuele Bassi authored
      One of the major requests by OpenGL users has been the ability to
      specify settings when creating a GL context, like the version to use
      or whether the debug support should be enabled.
      
      We have a couple of requirements in terms of API:
      
       • avoid, if at all possible, the "C arrays of integers with
         attribute, value pairs", which are hard to write and hard
         to bind in non-C languages.
       • allow failing in a recoverable way.
       • do not make the GL context creation API a mess of arguments.
      
      Looking at prior art, it seems that a common pattern is to split the
      construction phase in two:
      
       • a first phase that creates a GL context wrapper object and
         does preliminary checks on the environment.
       • a second phase that creates the backend-specific GL object.
      
      We adopted a similar pattern:
      
       • gdk_window_create_gl_context() creates a GdkGLContext
       • gdk_gl_context_realize() creates the underlying resources
      
      Calling gdk_gl_context_make_current() also realizes the context, so
      simple GL users do not need to care. Advanced users will want to
      call gdk_window_create_gl_context(), set up the optional requirements,
      and then call gdk_gl_context_realize(). If either of these two steps
      fails, it's possible to recover by changing the requirements, or simply
      creating a new GdkGLContext instance.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=741946
      22e6f37c
  17. 31 Jan, 2015 1 commit
  18. 28 Jan, 2015 1 commit
    • Niels Nesse's avatar
      Fix core context creation in GdkGLContext · 27cf0fa3
      Niels Nesse authored
      - Specifically request GL version when creating context. Just specifying core
      profile bit results in the requested version defaulting to 1.0 which causes
      the core profile bit to be ignored and an arbitrary compatability context to be
      returned.
      
      - Fix GL painting by removing GL calls that have been depricated by the 3.2 core
      profile.
      
      - Additionally remove glInvalidateFramebuffer() call, it is not supported by 3.2
      core.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=742953
      27cf0fa3
  19. 16 Dec, 2014 2 commits
    • Alexander Larsson's avatar
      GtkGLArea: Handle window scale factor changes · b52a06ac
      Alexander Larsson authored
      We need to re-allocate the buffers for the new gl size.
      b52a06ac
    • Alexander Larsson's avatar
      GtkGLArea: Only re-allocate buffers during paint · 08853c73
      Alexander Larsson authored
      This drops the maybe_allocate_buffers that re-allocates buffers
      at any point. Instead we just set have_buffers to FALSE and have
      the buffers re-created when needed.
      
      This also makes the buffer creation code imdeponent and makes it
      clean up no longer needed buffers in order to handle being called
      multiple times due to the above.
      
      We also ensure we re-allocate the buffers when we're resizing
      and the buffers are already created.
      08853c73
  20. 23 Nov, 2014 2 commits
  21. 03 Nov, 2014 3 commits
  22. 30 Oct, 2014 6 commits
    • Alexander Larsson's avatar
      GdkGLArea: fix has_alpha changes at runtime · f66060c4
      Alexander Larsson authored
      We need to completely reallocate the buffers if we switch
      has_alpha, because we may switch from render buffers to
      texture.
      f66060c4
    • Alexander Larsson's avatar
      GtkGLArea: Add resize signal · 37d0159a
      Alexander Larsson authored
      This is very useful, as almost all GL code wants to recalculate
      the cameras each time the window size changes.
      37d0159a
    • Alexander Larsson's avatar
      GtkGLArea: Add profile property · 969b9c65
      Alexander Larsson authored
      This lets you force a core 3.2 context if you want
      969b9c65
    • Alexander Larsson's avatar
    • Alexander Larsson's avatar
      GtkGLArea: Major reworking · 5ea3a102
      Alexander Larsson authored
      This restructures the way buffers are allocated and bound in a way
      that is more flexible.
      
      Buffer operation happens in three phases:
      create_buffer() - Creates the gl objects
      allocate_buffers() - Allocates space for the buffers at a given size
      attach_buffers() - Attaches the buffers to the framebuffer and makes
                         the framebuffer the default drawing target
      And destroy via
      delete_buffers()
      
      We call all these the first draw, and after that we allocate buffers
      each time the widget changes size until the buffers are deleted.
      We delete the buffers at unrealize.
      
      However, anyone that wants to manually control buffer allocation strategies
      can manually call allocate/delete_buffers().
      
      There are also some other changes:
      * Support for stencil buffers.
      * A manual render mode where ::draw doesn't render unless you manually
        invalidated the previous rendering.
      5ea3a102
    • Alexander Larsson's avatar
      GtkGLArea: Always destroy context on unrealize · ad30262f
      Alexander Larsson authored
      We had some code that tried to reuse the context over realize, but
      that doesn't work as we need to share with the possibly new
      paint context of the re-realized window.
      ad30262f
  23. 16 Oct, 2014 1 commit
  24. 13 Oct, 2014 3 commits