summaryrefslogtreecommitdiff
path: root/gtk/gtkfixed.c
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate gtk_widget_translate_coordinatesMatthias Clasen2023-03-251-1/+9
| | | | | | | Update all (non-deprecated) callers to use gtk_widget_compute_point instead. Fixes: #5697
* Drop gtkintl.hMatthias Clasen2022-09-241-1/+0
| | | | | Include gtkprivate.h for I_() and glib-i18n.h for gettext macros.
* docs: Reduce redundancyMatthias Clasen2021-05-201-3/+2
| | | | | | | | Remove a boatload of "or %NULL" from nullable parameters and return values. gi-docgen generates suitable text from the annotation that we don't need to duplicate. This adds a few missing nullable annotations too.
* fixed: Convert docsMatthias Clasen2021-03-111-48/+44
|
* Replace "gchar" with "char"Benjamin Otte2020-07-251-1/+1
|
* fixed: Change coordinate apis to doublesMatthias Clasen2020-05-221-17/+7
| | | | | | | | | We are using floating point for coordinates everywhere now, so be consistent here. This commit also changes the implementation of gtk_fixed_get_child_position to work with non-translation child transforms.
* fixed: Derive from GtkWidgetMatthias Clasen2020-05-111-43/+98
|
* fixed: Add gtk_fixed_removeMatthias Clasen2020-05-111-5/+15
| | | | This is the replacement for gtk_container_reomve.
* Move the idle sizer to GtkWindowMatthias Clasen2020-04-201-1/+0
| | | | | | | | This was only living in gtkcontainer.c for historic reasons. Move it closer to where it belongs, and rename it from 'idle' to 'layout', since it is really about the layout phase of the frame clock, nowadays.
* fixed: Documentation clarificationsTimm Bäder2019-09-091-2/+4
|
* fixed: x/y passed to get_child_position are not optionalTimm Bäder2019-09-091-6/+6
|
* fixedlayout: Don't call the child transform positionTimm Bäder2019-09-091-6/+6
| | | | It's a full transform and not just a translation these days.
* Remove gtk_widget_get/set_has_surfaceMatthias Clasen2019-05-281-1/+0
| | | | | These serve no purpose anymore - widgets don't have surfaces, unless they're a GtkNative.
* Use gtk_widget_class_set_layout_manager_type()Emmanuele Bassi2019-05-061-2/+4
| | | | | Instead of manually creating the layout manager inside the instance initialization function, we can let GtkWidget do that for us.
* Add API to access child transformations to GtkFixedEmmanuele Bassi2019-04-021-6/+61
| | | | | | This is mostly convenience API around GtkFixedLayoutChild, but it should push people towards using transformations with GtkFixed instead of just using fixed positioning.
* Remove GtkLayoutEmmanuele Bassi2019-04-021-3/+0
| | | | | | | | | | | The need of a specialised fixed layout container that can be placed into a GtkScrolledWindow ceased to exist once GtkScrolledWindow gained the ability to automatically interpose a GtkViewport when adding a child that does not implement GtkScrollable. All the other justifications that led to the existence of GtkLayout as a separate widget from GtkFixed have been largely made irrelevant in the 20 years since its inception.
* Add overflow:hidden to GtkFixedEmmanuele Bassi2019-04-021-0/+1
| | | | This allows GtkFixed to clip children that are outside its allocation.
* Turn GtkFixedLayoutChild:position into a transformationEmmanuele Bassi2019-03-261-6/+16
| | | | | This way we can transform children instead of just allocating them at an offset.
* Use GtkFixedLayout in GtkFixedEmmanuele Bassi2019-03-261-232/+55
| | | | Drop the child properties and the sizing code.
* widget: Don't pass a position to ->size_allocateTimm Bäder2018-11-131-6/+8
| | | | | The values have been 0/0 for a long time now, so just drop the GtkAllocation argument and replace it with width and height.
* fixed: Remove unused struct memberTimm Bäder2018-08-251-1/+0
|
* fixed: Remove child listTimm Bäder2018-07-051-107/+64
| | | | | Use the child widget list from GtkWidget and attach x/y positions via a qdata.
* fixed: Remove priv pointerTimm Bäder2018-06-201-12/+10
|
* widget: Remove clip from size-allocate vfuncBenjamin Otte2018-04-051-5/+3
| | | | As the clip is no longer needed, get rid of it.
* GtkWidget: Start renaming widget->windowAlexander Larsson2018-03-201-1/+1
| | | | | | | | | | | | | | | This is an automated change doing these command: git sed -f g gtk_widget_set_has_window gtk_widget_set_has_surface git sed -f g gtk_widget_get_has_window gtk_widget_get_has_surface git sed -f g gtk_widget_set_parent_window gtk_widget_set_parent_surface git sed -f g gtk_widget_get_parent_window gtk_widget_get_parent_surface git sed -f g gtk_widget_set_window gtk_widget_set_surface git sed -f g gtk_widget_get_window gtk_widget_get_surface git sed -f g gtk_widget_register_window gtk_widget_register_surface git sed -f g gtk_widget_unregister_window gtk_widget_unregister_surface git checkout NEWS*
* fixed: Remove snapshot implementationTimm Bäder2018-03-141-25/+0
| | | | It does the same thing as the default implementation.
* Fixed: If can’t add child, don’t add to child infoDaniel Boles2017-10-131-0/+1
| | | | | | | | | | | If the call to set_parent() failed, we were still adding the child to the internal list of children, despite that it was not really added. That meant we could later try to do invalid stuff with that non-child. Fix that by asserting and giving up if the child that the user is attempting to add is already parented. https://bugzilla.gnome.org/show_bug.cgi?id=701296
* Fixed: Don’t dereference before typecheckingDaniel Boles2017-10-131-1/+3
|
* GtkFixed: Update documentation introDaniel Boles2017-08-031-7/+12
| | | | | | • Add GtkLayout as a @See_also since it includes fixed-pos functionality • Drop mention of the long-gone Linux framebuffer port • Explain how to work around the problems with RTL text
* widget: Add baseline and out_clip parameters to size-allocateTimm Bäder2017-07-191-5/+9
| | | | | | | | | | | Since setting a clip is mandatory for almost all widgets, we can as well change the size-allocate signature to include a out_clip parameter, just like GtkCssGadget did. And since we now always propagate baselines, we might as well pass that one on to size-allocate. This way we can also make sure to transform the clip returned from size-allocate to parent-coordinates, i.e. the same coordinate space priv->allocation is in.
* fixed: Remove windowTimm Bäder2017-07-191-42/+2
|
* Remove calls to gtk_widget_set_allocationTimm Bäder2017-07-191-2/+0
| | | | gtk_widget_size_allocate_with_baselines does it automatically now.
* gtk: Mass delete all GtkWidget event mask APICarlos Garnacho2017-05-251-3/+1
| | | | | | | | | | We now rely on toplevels receiving and forwarding all the events the windowing should be able to handle. Event masks are no longer a way to determine whether an event is deliverable ot a widget. Events will always be delivered in the three captured/target/bubbled phases, widgets can now just attach GtkEventControllers and let those handle the events.
* container: Remove include_internals parameter from forallTimm Bäder2017-04-251-2/+0
| | | | | | with include_internals=TRUE, this is the same as the (still private) gtk_widget_forall, or just using the children/sibling accessors in a loop.
* Remove gtk_container_snapshot_childTimm Bäder2017-01-071-3/+4
| | | | Replace it with the already existing gtk_widget_snapshot_child.
* snapshot: Convert GtkFixedBenjamin Otte2016-11-151-24/+11
|
* fixed: Port to GskRenderNodeBenjamin Otte2016-11-051-11/+23
| | | | The fishbowl demo uses this.
* widget: Use ::measure vfunc to measure sizeTimm Bäder2016-10-221-42/+28
| | | | | | | | Add a new ::measure vfunc similar to GtkCssGadget's that widget implementations have to override instead of the old get_preferred_width, get_preferred_height, get_preferred_width_for_height, get_preferred_height_for_width and get_preferred_height_and_baseline_for_width.
* fixed: Use gdk_window_new_child()Benjamin Otte2016-10-181-15/+5
|
* API: container: Remove gtk_container_set_border_width()Benjamin Otte2016-10-161-1/+0
|
* API: Remove gdk_window_set_background()Benjamin Otte2016-10-161-29/+0
| | | | Backgrounds are always transparent black.
* API: Remove ability to set visuals on windowsBenjamin Otte2016-10-161-2/+1
| | | | | | | | And with it, gtk_widget_get_visual() and gtk_widget_set_visual() are gone. We now always use the RGBA visual (if available) and otherwise fall back to the system visual.
* fixed: add a comment for gtk_style_context_set_background()Cosimo Cecchi2015-07-011-2/+28
| | | | | | | And wrap it with G_GNUC_IGNORE_DEPRECATIONS. Unfortunately we can't stop rendering the background altogether here. Also, gtk_style_context_set_background() should really be called every time the style is updated. Fix that.
* fixed: Fix drawing orderBenjamin Otte2014-02-281-0/+27
| | | | | | | | | Restore the drawing order in GtkFixed to what it was in 3.8. With the GDK drawing changes this will not be correct in some cases (un-windowed children can now overlap windowed children and native children overlap everything), but fixes Eclipse drawing. https://bugzilla.gnome.org/show_bug.cgi?id=725089
* docs: use apostrophes in *n'tWilliam Jon McCann2014-02-071-2/+2
|
* Revert "fixed: draw css background and borders"Matthias Clasen2014-02-031-19/+0
| | | | | | | | This reverts commit ba6128f8afc90bc32b45559f9c24964e78f6ff3d. This change breaks emacs drawing entirely. Since GtkFixed is somewhat of a legacy widget anyway, lets just not bother doing this modernization there, at least for now.
* Docs: Use markdown for listsMatthias Clasen2014-02-021-11/+6
| | | | This greatly reduces the amount of xml in the docs.
* fixed: draw css background and bordersPaolo Borelli2013-11-031-0/+19
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=711324
* gtk: Use new macros for defining private dataEmmanuele Bassi2013-07-091-4/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702996
* Add gtk_widget_(un)register_windowAlexander Larsson2013-02-071-1/+1
| | | | | | | | | | | | This replaces the previously hardcoded calls to gdk_window_set_user_data, and also lets us track which windows are a part of a widget. Old code should continue working as is, but new features that require the windows may not work perfectly. We need this for the transparent widget support to work, as we need to specially mark the windows of child widgets. https://bugzilla.gnome.org/show_bug.cgi?id=687842