Emmanuele Bassi
5cbf6f5fbd
Add GtkLayoutChild
...
Layout managers needs a way to store properties that control the layout
policy of a widget; typically, we used to store these in GtkContainer's
child properties, but since GtkLayoutManager is decoupled from the
actual container widget, we need a separate storage. Additionally, child
properties have their own downsides, like requiring a separate, global
GParamSpecPool storage, and additional lookup API.
GtkLayoutChild is a simple GObject class, which means you can introspect
and document it as you would any other type.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
1b8595b5f2
Hook GtkLayoutManager into GtkWidget
...
We delegate the size request mode, the measuring, and the allocation of
a widget through a GtkLayoutManager instance, if one has been attached
to the widget; otherwise, we fall back to the widget's own implementation.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
24754c3259
Add GtkLayoutManager
...
A base abstract class for layout manager delegate objects.
Layout managers are associated to a single widget, like event
controllers, and are responsible for measuring and allocating the
children of the widget they are bound to.
2019-03-26 00:11:27 +00:00
Matthias Clasen
3d37f08f38
Remove gdk_device_warp
...
This was only ever implemented on X11, and is
not something we want to encourage apps to do, ever.
2019-03-24 20:49:08 -04:00
Benjamin Otte
799cb39e08
Remove win32 themeing support
...
It was unused through all of GTK 3, so it is not worth supporting.
The best Windows themes do not make use of it at all.
2019-03-22 22:30:01 +01:00
Benjamin Otte
658588dfe7
renderer: Make gsk_renderer_is_realized() public
...
... and add a property for it.
2019-03-19 08:47:54 +01:00
Benjamin Otte
480d8aec06
renderer: Remove display property
...
Renderers don't need a display until they get realized. And once they
get realized, they can look up the display from the surface.
2019-03-19 08:47:54 +01:00
Matthias Clasen
17f4211e4f
motion controller: Add getters for crossing event targets
...
This information can be needed in signal handlers,
so make it available.
2019-03-16 23:52:58 -04:00
Matthias Clasen
181a4bce25
Add key controller API to the docs
...
A bunch of API was missing here.
2019-03-16 21:24:45 -04:00
Matthias Clasen
a3b73a416e
password entry: Add a way to see the content
...
Add a ::show-peek-icon property and show a clickable
icon when it is set. Clicking it toggles the visibility
of the content. The same functionality is also accessible
via a context menu item.
This is a common feature of password entries.
2019-03-14 20:31:45 -04:00
Benjamin Otte
3a3b325f8e
transform: Add perspective()
...
This commit adds gsk_transform_perspective(), gtk_snapshot_perspective()
and support for perspective() in the CSS syntax.
2019-03-05 20:46:00 +01:00
Benjamin Otte
3545abc7a1
transform: Implement gsk_transform_invert()
...
And use it.
And test it.
2019-03-04 23:41:51 +01:00
Benjamin Otte
70b341139b
transform: Remove gsk_transform_identity()
...
This used to be a good idea back when GskTransform was intended to be
used for transitions, but without it, it's not anymore.
2019-03-04 23:41:51 +01:00
Benjamin Otte
3cc84d2860
transform: Make category public API
...
Also rename it from GskMatrixCategory to GskTransformCategory.
2019-03-04 23:15:24 +01:00
Benjamin Otte
791bf0c2eb
transform: Remove API to poke internals
...
It is not interesting to users of GskTransform how it is made up
internally. Users should just use the gsk_transform_to_*() APIs.
2019-03-04 23:15:24 +01:00
Benjamin Otte
4916280883
transform: Add more API
...
In particular, add a per-category querying API for the matrix:
- gsk_transform_to_translate()
- gsk_transform_to_affine()
- gsk_transform_to_2d()
- gsk_transform_to_matrix()
This way, code can use the relevant one for the given category.
2019-03-04 23:15:06 +01:00
Benjamin Otte
0e1a50366a
transform: Move to GSK
...
The renaming of the prefix makes this a large patch.
2019-03-04 23:09:02 +01:00
Matthias Clasen
9e0c471b03
entry, spin button: Drop redundant API
...
Avoid duplicating GtkEditable APIs. Port existing users.
2019-02-28 16:34:00 -05:00
Matthias Clasen
d3c45cb979
docs: Miscellaneous doc fixes
...
Additions and correction all over the place,
in GDK and GTK docs.
2019-02-24 16:53:12 -05:00
Matthias Clasen
df27cb7240
docs: Remove some no-longer-existing api
2019-02-24 13:56:09 -05:00
Matthias Clasen
8a0182e401
docs: Some cosmetic fixups
...
Some leftover comments from the drawing model rewrite.
2019-02-24 10:37:33 -05:00
Matthias Clasen
cc216c9e84
Remove gdk_surface_set_user_data
...
Change gdk_surface_get/set_user_data to private
API and rename them to get/set_widget.
Also remove an unused associated function.
The last two places where the surface API is used
are in gtkroot.c and gtkwidget.c. Make them
use the private api.
2019-02-23 22:24:50 -05:00
Matthias Clasen
4001e7645b
docs: Refresh the "Q & A" part
...
Remove references to long-gone API, add some pointers
to more modern alternatives, etc.
2019-02-23 16:08:05 -05:00
Matthias Clasen
fad9468e77
Merge branch 'drawing-model-refresh' into 'master'
...
doc: Rewrite the drawing model overview
See merge request GNOME/gtk!603
2019-02-23 21:05:35 +00:00
Matthias Clasen
222d310370
doc: Rewrite the drawing model overview
...
This is a first cut at updating the drawing model chapter
for the way we do things now. It introduces the scene graph and
render nodes, explains node caching and tree diffing, and removes
sections about subwindows.
2019-02-23 15:24:07 -05:00
Matthias Clasen
e16cdb141c
Drop gdk_event_handler_set
...
This is no longer used by GTK.
2019-02-23 14:13:57 -05:00
Matthias Clasen
4e97417efa
Update migration guide for pass-through
2019-02-21 22:07:39 -05:00
Matthias Clasen
beb8d362ff
overlay: Remove gtk_overlay_set_overlay_pass_through
...
gtk_overlay_set_overlay_pass_through has been made
redundant by gtk_widget_set_can_pick. Remove it.
2019-02-21 21:57:43 -05:00
Matthias Clasen
2e5ccce088
Make gtk_widget_set/get_can_pick public
...
This is a generally useful property to make widgets
'transparent' for input purposes.
2019-02-21 21:53:34 -05:00
Matthias Clasen
f57e66cf37
overlay: Drop the index child property
...
And don't allow reordering children.
2019-02-21 19:43:33 -05:00
Benjamin Otte
14444826c1
docs: Fix typo
...
:(
2019-02-21 23:00:36 +01:00
Benjamin Otte
dfc1673653
docs: Use the same name in different files
...
Otherwise gtk-doc gets confused.
2019-02-21 20:44:17 +01:00
Matthias Clasen
b64f852d60
Remove docs for css keybindings
...
This functionality has been removed.
2019-02-21 13:56:56 -05:00
Timm Bäder
e2b9f3258e
css: Add transform style property
2019-02-21 19:47:28 +01:00
Benjamin Otte
4052bb2535
snapshot: Remove the old APIs
...
It's all using transforms now.
2019-02-21 19:47:28 +01:00
Benjamin Otte
51fac44ba5
snapshot: Introduce transform APIs
...
Instead of gtk_snapshot_offset(), provide a full set of functions
kept in sync with GtkTransform APIs.
On top of that, add gtk_snapshot_save() and gtk_snapshot_restore()
mirroring cairo_save()/restore() that allow saving a snapshot's
transform state.
2019-02-21 19:47:28 +01:00
Benjamin Otte
2bdc0748e5
snapshot: Remove gtk_snapshot_get_offset()
...
We use append() functions for everything now, thank you very much.
2019-02-21 19:47:28 +01:00
Benjamin Otte
1ef250f44a
snapshot: Add functions to append shadows
2019-02-21 19:47:28 +01:00
Benjamin Otte
e1570e9ebc
snapshot: Add gtk_snapshot_append_border()
...
This is adding functions for the remaining render nodes.
2019-02-21 19:47:28 +01:00
Benjamin Otte
49d83820a2
gtk: Add GtkTransform
...
This is a new object (well, boxed type, but I'm calling it object) for
dealing with transform in a more constructive way than graphene_matrix_t
by keeping track of how the transform was created.
This way, reasoning about the transform becomes easier, and we can create
better ways to print it or transition from one transform to another one.
An example of this is that while a 0 degree and a 360degree rotation are
both the identity matrix, doing a transition between the two would cause
a rotation.
2019-02-21 19:47:27 +01:00
Matthias Clasen
eea651d5f9
Add new notebook apis to the docs
2019-02-21 01:11:50 -05:00
Matthias Clasen
888b967d6b
Add more info to the migration guide
...
Mention child metas of GtkAssistant and GtkNotebook.
2019-02-21 01:09:09 -05:00
Matthias Clasen
82bde1e10a
text: Remove the ::has-frame property
...
This is purely GtkEntry functionality and should
remain there.
2019-02-20 10:34:42 -05:00
Benjamin Otte
e223f16aa9
widget: Add gtk_widget_compute_point()
...
It's the replacement for gtk_widget_translate_coordinates()
2019-02-19 19:22:10 +01:00
Timm Bäder
dbf0654e5b
widget: Add gtk_widget_compute_transform
2019-02-19 19:22:09 +01:00
Matthias Clasen
a417956054
Mention GtkEditable and entries in the migration guide
...
Not a very exhaustive treatment, but at least it gives
some hints.
2019-02-19 00:25:59 -05:00
Matthias Clasen
b299ac8dfa
Add editable delegate api to docs
...
And add a section that explains how to use these
functions when setting up a GtkEditable delegate.
2019-02-19 00:25:59 -05:00
Matthias Clasen
c6e6fb19e7
Add GtkPasswordEntry
...
This is a simple editable which hides the entered
text and shows a caps-lock warning.
2019-02-19 00:25:59 -05:00
Matthias Clasen
45fb1d06e3
entry: Delegate to GtkText
...
Use a GtkText child, and delegate the editable functionality
to it. Also forward all the properties that are provided by
GtkText.
Some of the more internal APIs, such as layout and im context
access and caps-lock warning, are removed here, but we preserve
most of the plain GtkEntry API by forwarding it to the GtkText
child.
2019-02-19 00:25:59 -05:00
Matthias Clasen
1801bf6d83
Add a GtkText widget
...
This is a GtkEntry without any of the extras, such as
icons, completion, progress, caps-lock warning, emoji icon.
2019-02-18 14:24:21 -05:00
Matthias Clasen
7325f8e204
editable: Add more to interface
...
Add all the things to the GtkEditable interface that
make sense for most implementations.
2019-02-17 23:07:17 -05:00
Timm Bäder
10e5856583
widget: Save transform as matrix
...
The transform matrix is a translation matrix from the parent's origin to
the widget origin. We will later allow more transformations than just
translations.
2019-02-16 15:44:37 +01:00
Matthias Clasen
bea1a02edd
Merge branch 'wip/otte/boxes' into 'master'
...
GtkCssBoxes
See merge request GNOME/gtk!584
2019-02-15 16:12:26 +00:00
Matthias Clasen
e5e2bd3187
Drop GtkAssistantPage::has-padding
...
This is causing us some internal complications, and
it is very easy to just add padding to the pages
yourself.
2019-02-15 10:23:48 -05:00
Benjamin Otte
e0ec5caaf8
container: Drop gtk_container_check_resize()
...
Instead, hardcode GtkWindow for now.
The code for non-windows was entirely broken.
2019-02-15 06:53:17 +01:00
Benjamin Otte
30386bbaca
gtk: Add GtkSingleSelection
...
GtkSingleSelection is a GtkSelectionModel that allows selecting a single
item.
2019-02-10 18:43:59 -05:00
Benjamin Otte
16024fba7c
gtk: Add GtkSelectionModel
...
The selection model is a list model interface that takes care of
selections and is to be used by the list model widgets to manage their
selections.
2019-02-10 18:43:59 -05:00
John Zhang
6959e8c6a6
typo correction
2019-02-09 14:43:21 +08:00
Benjamin Otte
49cbf2a16b
widget: Add gtk_widget_set_overflow()
...
This adds a simple abilities for widget implementations to clip their
content. See future commits for users of this.
2019-02-08 18:26:42 +01:00
Matthias Clasen
ce60089f46
assistant: Convert child properties to a child meta object
...
Turn GtkAssistantPage into a public object holding the
former child properties.
2019-02-08 00:09:44 -05:00
Matthias Clasen
edd3f28a1d
migration guide: Mention --3to4
2019-02-08 00:09:44 -05:00
Matthias Clasen
e31f7356e9
Some small additions to the migration guide
...
Mention some of the recent changes, such as GtkButtonBox,
GtkBox, child properties.
2019-02-08 00:09:44 -05:00
Matthias Clasen
1fb3febacc
Document --3to4
2019-02-08 00:09:44 -05:00
Matthias Clasen
ad9c2a624f
stack: Convert child properties to a child meta object
...
Create a GtkStackPage public object which holds the former
child properties of GtkStack.
Adjust all callers.
2019-02-08 00:09:44 -05:00
Matthias Clasen
e91144f6c9
Make GtkInvisible private
...
We can't quite get rid of its use in the inspector,
but we can make it private.
2019-02-06 02:06:19 -05:00
Timm Bäder
51268f53d8
docs: Remove reference to deleted file
2019-02-05 15:15:38 +01:00
Matthias Clasen
f60ca91d2b
A few forgotten button box functions
2019-02-05 08:44:45 -05:00
Matthias Clasen
3489ed087d
Merge branch 'kill-buttonbox' into 'master'
...
Drop GtkButtonBox
See merge request GNOME/gtk!554
2019-02-05 13:06:09 +00:00
Matthias Clasen
32e61b955a
Drop gtkboxprivate.h
...
Not needed anymore.
2019-02-05 07:54:35 -05:00
Emmanuele Bassi
0f24fddaf7
docs: Drop the '+' from GTK
...
We need to adapt to both the change in the name of the project, and to
the name change in the pkg-config file.
2019-02-05 10:14:31 +01:00
Matthias Clasen
f3f5a896de
box: Avoid position in the reorder api
...
Change the reorder api to insert after a sibling,
so that moving to first place becomes reorder (... NULL).
And add a insert_after api that can replace the common
container_add / reorder_after (... NULL) combination.
Update all callers.
2019-01-23 19:30:47 -05:00
Timm Bäder
c7b1df1ebd
migration guide: Add a paragraph about GtkBox's pack-type
2019-01-23 19:30:46 -05:00
Timm Bäder
e9e40ddb42
box: Remove gtk_box_pack_start
2019-01-23 19:30:46 -05:00
Timm Bäder
a543ed84f6
box: Remove gtk_box_pack_end
2019-01-23 19:30:46 -05:00
Timm Bäder
28c51175d8
box: Remove pack-type child property
2019-01-23 19:30:46 -05:00
Timm Bäder
bd71e744d2
Stop using gtk_box_pack_end
...
It might soon go away!
2019-01-23 19:30:46 -05:00
Timm Bäder
3d40f003b2
Merge branch 'no-more-bgo' into 'master'
...
docs: Point people at the right place for bugs
Closes #1559
See merge request GNOME/gtk!498
2019-01-21 07:05:26 +00:00
Emmanuele Bassi
3543a54545
Specify the C include for Unix printing API
...
Instead of using the INCLUDE directive inside the sections file, we can
specify the default C include in the gtkdoc-mkdb arguments, and override
it inside the C sources that need it.
2019-01-19 00:00:34 +00:00
Timm Bäder
11f9ae8202
tooltip: Remove gtk_tooltip_trigger_tooltip_query
...
As stated by the documentation, this should be called when a widget gets
updated, but in that case, one can equally use
gtk_widget_trigger_tooltip_query.
2019-01-18 19:43:51 +01:00
Emmanuele Bassi
a5fcdca935
docs: Point people at the right place for bugs
...
We don't use Bugzilla for GTK any more, so our documentation should
reflect that change.
Closes #1559
2019-01-18 14:34:10 +00:00
Timm Bäder
904fd5f1fc
Remove gtk_widget_intersect
...
It's been broken for quite a while now and doesn't make sense anymore
these days.
2018-11-29 11:14:26 +01:00
Timm Bäder
1f1306a53b
docs: Add GtkEventControllerLegacy
2018-11-13 15:40:42 +01:00
Benjamin Otte
eecd5823d0
docs: Put subsection into right section
...
The widget observer APIs belong into the widget docs, not the window
docs. Oops.
2018-10-06 00:29:31 +02:00
Matthias Clasen
a28c7e8839
Merge branch 'wip/sadiq/fixes' into 'master'
...
docs: Fix inclusion of source files in tutorial
See merge request GNOME/gtk!341
2018-09-26 18:28:23 +00:00
Benjamin Otte
2c84049769
treelistmodel: Improve naming a bit
...
The complexity with model items vs row items is really confusing. Add to
that treelistmodel position vs child model position vs parent position,
and you're so confused, even the best naming can't help.
And once you're there, consider passthrough vs non-passthrough...
2018-09-18 08:03:03 +02:00
Mohammed Sadiq
6971e2923d
docs: Fix inclusion of source files in tutorial
2018-09-17 13:39:22 +05:30
Benjamin Otte
9ffd88012d
docs: Add missing TreeListModel docs
2018-09-16 19:39:39 +02:00
Benjamin Otte
f3834138f7
GtkSortListModel: Add
2018-09-16 18:50:17 +02:00
Benjamin Otte
64d97b233b
GtkSliceListModel: add
2018-09-16 18:50:17 +02:00
Benjamin Otte
b6acc31d44
GtkMapListModel: add
2018-09-16 18:50:17 +02:00
Benjamin Otte
867042f88f
widget: Add gtk_widget_observe_controllers()
...
This mirrors gtk_widget_observe_children() - just that it observes the
controllers, not the children.
2018-09-16 18:50:17 +02:00
Benjamin Otte
32ec7dec61
gtk: Add GtkFlattenListModel
...
We can flatten lists of lists into lists now!
2018-09-16 18:50:17 +02:00
Benjamin Otte
4f70f72349
gtk: Add GtkFilterListModel
...
This is a GListModel implementation that filters the given source model.
2018-09-16 18:50:17 +02:00
Benjamin Otte
dd94129e27
widget: Add gtk_widget_observe_children()
...
This creates a listmodel that tracks a widget's children. Doing so turns
adding/removing children from O(1) to O(N) though, so use with caution.
2018-09-16 18:50:17 +02:00
Benjamin Otte
63e5b827ed
window: Add gtk_window_get_toplevels()
...
This one returns a list of all toplevel windows.
2018-09-16 18:50:17 +02:00
Benjamin Otte
573c63973a
gtk: Add GtkTreeListModel
...
This is a GListModel implementation with a neat API that can be used to
implement trees inside GtkListBox.
2018-09-16 18:50:17 +02:00
Matthias Clasen
59077e4843
migration guide: Mention GtkEventBox
...
Its gone.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1243
2018-08-05 19:53:02 -04:00
Guido Günther
06e4c3c991
examples: Use appliction id as desktop file base name
2018-08-02 11:10:21 +02:00
Guido Günther
f25f3b3c47
docs: Explain desktop file id == application_id in migration guide
2018-08-02 11:10:21 +02:00
Benjamin Otte
50d5666db0
container: Remove focus chains
...
They're prectically unused.
Widgets who want to influcence the focus chain behavior should implement
GtkWidgetClass::focus and deal with focus there.
2018-07-31 22:34:27 +02:00
Matthias Clasen
0ba307995d
Mention gtk_widget_show_all in the migration guide
...
This function is gone.
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1242
2018-07-31 13:38:10 -04:00
Benjamin Otte
813957a92f
gdk: Remove gdk_event_get_string()
...
You want to use an IM module to get strings out of keypresses, not some
crude hack that only works on X11 and Wayland anyway.
2018-07-30 19:32:38 +02:00
Matthias Clasen
73b45ec77e
Migration guide: mention size-allocate
...
Document the new argument here.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1245
2018-07-29 09:11:39 -04:00
Jonas Ådahl
4497ac7d75
menu: Remove legacy popup APIs
...
Remove gtk_menu_popup_for_device() and gtk_menu_popup(), as they cannot
be implemented in a portable manner by all backends. They have been
deprecated for proper alternative APIs for some time, so lets remove
them now before its too late.
While at it, fix the example documentation for mapping a menu.
2018-07-27 17:16:44 +02:00
Benjamin Otte
76d0e1e398
API: Remove gtk_render_frame_gap()
...
That function does not make sense at all in a CSS world. So better don't
support it anymore.
2018-07-24 20:55:45 +02:00
Benjamin Otte
0f70e6d70a
docs: Remove remains of Mir backend
2018-07-24 20:55:45 +02:00
Benjamin Otte
447b166ed3
Merge branch 'wip/muktupavels/remove-gtk-css-provider-get-default' into 'master'
...
gtkcssprovider: remove gtk_css_provider_get_default
See merge request GNOME/gtk!256
2018-07-20 14:03:51 +00:00
Ernestas Kulik
40019517cf
docs: Fix GdkContentProvider documentation
...
Currently it’s lacking properties, signals and class vfuncs.
2018-07-19 20:05:19 +03:00
Alberts Muktupāvels
7a8f5ca970
gtkcssprovider: remove gtk_css_provider_get_default
...
This function is unused since cdc6e82720
commit and does not
contain fallback style.
https://gitlab.gnome.org/GNOME/gtk/issues/1226
2018-07-19 19:25:17 +03:00
Matthias Clasen
1030d9e5b1
docs: Small updates to the migration guide
...
Mention that event controllers are available in 3.x, amongst others.
2018-07-18 20:22:18 -04:00
Timm Bäder
17b1e7bae9
docs: Fix scroll and motion controller titles
...
Controller, not Controler.
2018-07-17 17:33:46 +02:00
Matthias Clasen
d148f26658
Drop gdk_surface_withdraw
...
'withdrawn' is an X11-centric concept, and the function
can just as well be replaced by gdk_surface_hide.
2018-07-15 15:29:58 -04:00
Matthias Clasen
b94c3166bf
dnd: Rename gtk_drag_begin_with_coordinates
...
Now that the coordiate-less variant is gone,
rename this back to the shorter gtk_drag_begin.
2018-07-12 13:02:42 +02:00
Timm Bäder
33166b7357
render: Remove gtk_render_slider
...
The only thing it was doing is render background and frame, which you
get from using a widget for your slider anyway.
2018-07-08 09:41:15 +02:00
Thomas Bechtold
e42373df89
docs: Add GtkPicture to types list
...
We want signals, arguments/parameters and position in the hierarchy to
be shown in the documentation for GtkPicture. So fix the types list.
See
https://developer.gnome.org/gtk-doc-manual/unstable/metafiles_types.html.en
2018-07-06 22:14:26 +02:00
Ernestas Kulik
3137d326c5
docs: Add new DnD types
...
7733f646d6
renamed GdkDragContext to
GdkDrag, which broke the docs, as a reference to
gdk_drag_context_get_type() still exists. This commit renames the type
accordingly and adds GdkDrop.
2018-07-03 12:32:41 +03:00
Matthias Clasen
fb98f939a5
docs: Update dnd section
...
Add the separate drag and drop apis.
2018-07-02 15:00:50 +02:00
Matthias Clasen
36396093e6
docs: Document GtkEventControllerKey
...
The long description was missing.
2018-06-26 12:20:47 -04:00
Matthias Clasen
443a64a38e
docs: Remove a duplicate line in gdk4-sections.txt
...
This was causing another docs build break.
2018-06-19 17:16:31 -04:00
Matthias Clasen
74455ae75c
docs: fix a typo
...
Invalid syntax in gdk4-sections.txt was causing docs builds to fail.
2018-06-19 17:16:31 -04:00
Benjamin Otte
45a6146ca6
x11: Remove gdk_x11_surface_foreign_new_for_display()
...
People who want to use foreign windows should use X directly.
2018-06-18 23:49:53 +02:00
Benjamin Otte
f982c9c8f8
dnd: Remove gdk_drag_status() and gdk_drag_finish()
...
Those functions are unused and have been replaced by their equivalents
gdk_drop_status() and gdk_drop_finish().
2018-06-18 23:49:52 +02:00
Benjamin Otte
a1cee7fa65
surface: Kill event masks
...
In particular, this patch removes:
gdk_surface_get_events()
gdk_surface_set_events()
gdk_surface_get_device_events()
gdk_surface_set_device_events()
Event masks so far still exist for grabs.
2018-06-18 23:49:52 +02:00
Benjamin Otte
e1206763a8
dnd: Remove gdk_drag_context_get_dest_surface()
...
... and gdk_drag_context_get_source_surface().
In the backends, use direct access to the variables instead.
2018-06-18 23:49:52 +02:00
Benjamin Otte
d02b185a87
dnd: Add gdk_event_get_drop()
...
And remove gdk_event_get_drag_context().
All GTK code now only uses GdkDrop for dropping.
2018-06-18 23:49:52 +02:00
Benjamin Otte
5b0a6a52c1
dnd: Get rid of gtk_drag_finish()
...
It's just a wrapper around gdk_drag_finish(), so use that one instead.
2018-06-18 23:49:20 +02:00
Benjamin Otte
13ae11ee01
dnd: Rename gdk_drop_finish() => gdk_drag_finish()
...
This is a simple rename, so that we can reintroduce gdk_drop_finish()
with the GdkDrop object.
2018-06-18 23:49:19 +02:00
Benjamin Otte
b2dc303e5e
dnd: Add gdk_drop_get_actions()
...
This uses the new method without GDK_ACTION_ASK:
Either it is a single action (queryable via gdk_drag_action_is_unique())
or it is not and then the drop target has to make a decision
(potentially by asking someone).
2018-06-18 23:49:19 +02:00
Benjamin Otte
74a8ffc4a8
dnd: Add gdk_drag_action_is_unique()
...
This will be necessary once we remove the ASK action.
2018-06-18 23:49:19 +02:00
Timm Bäder
218b39fe01
GtkStyleContext: Remove the frame clock
...
It's unused within GtkStyleContext.
2018-06-18 17:35:03 +02:00
Ting-Wei Lan
751c1877b1
docs: Fix gtk-doc build when wayland is disabled
...
Unconditionally putting 'gdkwayland_inc' in src_dir argument of gtkdoc
call tells gtkdoc-scan to scan source files in a non-existent build
directory, gdk/wayland. To avoid causing build failure when a specific
backend is disabled, we should include directories conditionally.
2018-06-15 23:51:15 +08:00
Mohammed Sadiq
daf72e2e96
docs: Update getting started docs
...
We have removed references to private members in our examples.
Let the docs be updated to reflect that.
2018-06-14 05:30:21 +05:30
Mohammed Sadiq
7e98741793
docs: Use gtk_widget_show() to show window
...
gtk_window_show_all() is no longer available (and no longer needed)
2018-06-13 20:15:20 +05:30
Mohammed Sadiq
0d46081645
overlay: Add support for clipping overlay widgets
...
Sometimes users may want to restrict the growth of child
widgets in a GtkOverlay to grow atmost the size of the overlay.
Let's add a support for that.
2018-06-11 16:24:29 +05:30
Benjamin Otte
299e2ed44c
docs: Add GtkEventControllerKey to index
2018-06-10 02:35:30 +02:00
Benjamin Otte
f58c556adb
image: Remove gtk_image_set_keep_aspect_ratio()
...
and gtk_image_set_can_shrink().
Images are meant to always be icon-sized, they can never shrink below
that.
And images are icons, so they are meant to be square. If they are
not, we pretned that's by accident and keep aspect ratio.
2018-06-10 02:25:28 +02:00
Benjamin Otte
6546ef3459
picture: Introduce
...
This commit introduces GtkPicture, which is supposed to complement
GtkImage.
GtkImage will be adapted to always display an icon, while
GtkPicture displays regular imagery.
2018-06-10 02:23:02 +02:00
Timm Bäder
758137b5d9
widget: Add docs for {get,set}_focus_child
...
With get_ being still private.
2018-06-04 21:58:44 +02:00
Benjamin Otte
7e574fa98c
gdk: Get rid of gdk_event_free()
...
Events are objects, so use g_object_unref().
2018-05-29 21:53:44 +02:00
Timm Bäder
3a8607190f
Add GtkEventControllerKey to the docs
2018-05-19 12:38:44 +02:00
Emmanuele Bassi
b702618ed9
docs: List private headers for gtk-doc to ignore
...
We have a lot of private headers that should not be used by gtk-doc when
scanning for symbols.
2018-05-08 14:20:00 +01:00
Emmanuele Bassi
1262d0c6e5
Avoid absolute paths when building the API reference
...
We should always use relative paths, or include_directories objects, to
allow using GTK as a subproject.
2018-05-08 14:20:00 +01:00
Mohammed Sadiq
555c6d7ac7
reference: Replace reference to gtk3 with gtk4
2018-05-08 06:05:41 +05:30
Mohammed Sadiq
5242073547
reference: Use gtk+-4 for compilation in examples
2018-05-08 06:05:04 +05:30
Benjamin Otte
69644993f6
gsk: Improve GSK_RENDERER behavior
...
1. Include the broadway renderer (so we can test it properly fails on
Wayland or X11)
2. List all potential renderers, print useful information when Vulkan
is not compiled in instea dof omitting it
3. Improve docs
2018-05-07 16:45:32 +02:00
Matthias Clasen
3c05a6662b
Update docs for debug environment variables
...
Just the usual pre-release doc fixups.
2018-05-07 07:47:18 -04:00
Matthias Clasen
5469bf0773
Document the GSK_RENDERER environment variable
...
Just the usual pre-release doc fixups.
2018-05-07 07:47:18 -04:00
Matthias Clasen
335a8aa843
Update build docs
...
Just the usual pre-release doc fixups.
2018-05-07 07:47:18 -04:00
Matthias Clasen
766185bce5
Add GtkWidgetPaintable to the docs
...
Just the usual pre-release doc fixups.
2018-05-07 07:47:18 -04:00
Matthias Clasen
c7fd3ebbaf
Add GdkPaintable to the docs
...
Just the usual pre-release doc fixups.
2018-05-07 07:47:18 -04:00
Matthias Clasen
79e54929a2
Add more media docs
2018-05-06 15:57:10 -04:00
Matthias Clasen
f569717a03
Add media support to docs
2018-05-05 18:28:19 -04:00
Matthias Clasen
7fdf3d1769
Fixes to the gtk docs
2018-05-05 18:03:31 -04:00
Matthias Clasen
702deee799
Add some more content to the migration guide
2018-05-05 13:33:36 -04:00
Matthias Clasen
e191015aa0
The legacy event controller is still private
2018-05-03 20:45:36 -04:00
Benjamin Otte
8366ef71c0
dnd: Remove gdk_drop_reply()
...
It was only necessary for Motif DND, and we don't support that anymore.
2018-05-03 01:31:40 +02:00
Benjamin Otte
fb53568c04
gdk: Remove gdk_drag_grop_succeeded()
...
It's unused and most backends don't implement it.
2018-05-03 01:31:39 +02:00
Matthias Clasen
0f4084946a
Add missing types to gtk docs
2018-05-01 23:26:28 -04:00
Matthias Clasen
1185b0b447
Add missing types to gdk docs
2018-05-01 23:22:13 -04:00
Matthias Clasen
1dcb76bc26
Merge branch 'wip/carlosg/controller' into 'master'
...
carlosg/controller
See merge request GNOME/gtk!131
2018-05-01 12:35:53 +00:00
Matthias Clasen
3684b72121
Misc documentation fixes
...
Close some gaps in gdk docs.
2018-04-28 22:34:14 -04:00
Matthias Clasen
059a181f7d
Document GdkMemoryTexture
2018-04-28 16:22:29 -04:00
Matthias Clasen
a0f591297a
More doc build fixes
...
If only the errors would make it back to stderr.
2018-04-28 16:02:34 -04:00
Matthias Clasen
b20e68cc91
More doc build fixes
2018-04-28 15:07:35 -04:00
Matthias Clasen
6b7be6643a
Add offset nodes to the docs
2018-04-28 15:07:35 -04:00
Matthias Clasen
5e2103f7f0
Fix the gdk doc build
...
GdkDrawingContext no longer exists.
2018-04-28 15:07:35 -04:00
Benjamin Otte
9af03fa602
widget: Expose gtk_widget_add_controller()
...
.. and gtk_widget_remove_controller().
2018-04-26 17:59:41 +02:00
Adrian Johnson
b0bb7f3da4
Add gtk_printer_get_hard_margins_for_paper_size
...
to retreive paper size specific hard margins and use this
to set the hard margins in the print context.
(modified by Marek Kasik <mkasik@redhat.com>)
https://bugzilla.gnome.org/show_bug.cgi?id=686109
2018-04-26 14:19:55 +02:00
Benjamin Otte
fd686afeb2
drawcontext: Add gdk_draw_context_in_frame() API
...
This makes the previous gdk_draw_context_is_drawing() function public
under a new name.
I decided against the old name because we use the term "frame" for a
drawing operation, so I wanted to have this boolean flag reuse the term.
2018-04-24 23:16:58 +02:00
Benjamin Otte
a865621519
gdk: Move begin/end_frame() functions
...
As they require a draw context and the draw context is already bound to
the surface, it makes much more sense and reduces abiguity by moving
these APIs to the draw context.
As a side effect, we simplify GdkSurface APIs to a point where
GdkSurface now does not concern itself with drawing anymore at all,
apart from being the object that creates draw contexts.
2018-04-24 23:16:58 +02:00
Benjamin Otte
48fc18c37b
gdk: Get rid of GdkDrawingContext
...
All information is kept in GdkDrawContext these days, so use that one.
2018-04-24 23:16:58 +02:00
Benjamin Otte
c6ae0ff2d1
gdk: Get rid of gdk_drawing_context_get_clip()
...
Use the identical gdk_draw_context_get_frame_region() instead.
2018-04-24 23:16:58 +02:00
Benjamin Otte
dbe4f1d766
gdk: Add gdk_draw_context_get_frame_region()
...
This does the same as gdk_drawing_context_get_clip().
2018-04-24 23:16:58 +02:00
Benjamin Otte
e7d6648f46
gdk: Remove gdk_gl_context_get_damage()
...
Remove it only form public API, because we still use the vfunc to figure
out the damage area in begin_frame().
2018-04-24 23:16:58 +02:00
Benjamin Otte
a83487a0c4
cairocontext: Move a function
...
A function of GdkDrawingContext is only used when drawing with Cairo, so
move it to GdkCairoContext.
2018-04-24 23:16:12 +02:00
Benjamin Otte
f396786051
gdk: Add GdkCairoContext
...
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.
2018-04-24 23:16:12 +02:00
Benjamin Otte
b49dccb86d
rendernode: Remove gsk_render_node_set_name()
...
And of course, gsk_render_node_get_name() is gone, too.
The replacement is of course debug nodes.
As a side effect, GskRenderNode is now *really* immutable.
2018-04-24 04:06:58 +02:00
Benjamin Otte
49f9d2108d
gsk: Add GskDebugNode
2018-04-24 04:06:58 +02:00
Emmanuele Bassi
0b4bfd5c93
docs: Start defining the owners of code sections
...
When filing a new merge request it's often hard to know who to ask for a
review; using the Git log doesn't always help — the person that touched
a file last may just be fixing the build or a compiler warning.
The `CODE-OWNERS` file format is something that GitHub uses in order to
pre-fill the list of reviewers:
https://help.github.com/articles/about-codeowners/
Ideally, in the future, we'll be able to use this file with a bot like
homu to automatically go through newly filed merge requests and
automatically ask the relevant people for reviews, instead of doing this
manually.
2018-04-16 16:06:33 +01:00
Benjamin Otte
4aab8e970b
gdk: Remove gdk_surface_create_similar_image_surface()
...
It's unused.
2018-04-12 14:04:33 +02:00
Benjamin Otte
7ef8696a7d
gdk: Remove gdk_cairo_surface_create_from_pixbuf()
...
It's unused and people should use textures and snapshots anyway.
2018-04-12 14:04:20 +02:00
Benjamin Otte
3a1c69dce6
gdk: Remove gdk_cairo_get_drawing_context()
...
It's unused.
2018-04-12 14:03:40 +02:00
Benjamin Otte
770866f265
texture: Add gdk_texture_save_to_png()
...
It's needed for debugging Timm's code, so better have it here than
hidden in my random-patch vault.
2018-04-12 14:02:59 +02:00
Benjamin Otte
39d930c065
drawingcontext: Remove unused APIs
2018-04-12 14:02:59 +02:00
Benjamin Otte
7ef8cb652b
widget: Remove gtk_widget_set_realized()
...
Everybody chains up now.
2018-04-11 03:16:34 +02:00
Emmanuele Bassi
410b20f904
docs: Link to GResource
...
Since we're referring to GLib's functionality, might as well save some
time to the reader, and link to the GResource API reference page.
2018-04-09 20:55:51 +01:00
Daniel Boles
fae064d5f9
docs/reference/gtk/getting_started: cgit => GitLab
...
master version of b685eb1779
2018-04-09 20:55:14 +01:00
Carlos Garnacho
20c1e24b60
gtksearchbar/entry: Add [gs]et_key_capture_widget() API calls
...
This lets these widgets actively pull events from a widget, instead
of passively being fed events.
2018-04-05 19:26:54 +02:00
Benjamin Otte
cbf26fbd02
widget: Add gtk_widget_compute_bounds()
...
The first in a set of functions intended to query widget coordinates
from another widget's coordinate system.
2018-04-05 14:57:10 +02:00
Benjamin Otte
c06a790694
widget: Remove gtk_widget_draw()
...
If you want to draw a widget to cairo today, you create a widget
paintable, snapshot it to a render node and then draw the render node to
cairo.
And yes, this is that complicated on purpose. Don't draw widgets to
Cairo.
2018-04-05 14:56:39 +02:00
Benjamin Otte
c74854fe49
paintable: Introduce gdk_paintable_new_empty()
...
Also, use it where appropriate.
2018-04-05 14:56:39 +02:00
Benjamin Otte
fc6de135fe
widget: Don't keep track of clip anymore.
...
It's not used anywhere, so why would we need it?
2018-04-05 14:56:38 +02:00
Benjamin Otte
73650c6da2
gtk: Remove gtk_widget_queue_draw_region()
...
... and gtk_widget_queue_draw_area().
They don't doi anything anymore.
2018-04-05 14:56:38 +02:00
Benjamin Otte
a468714849
widget: Stop tracking invalidations
...
Instead of calling gdk_surface_invalidate_region(), just
gdk_surface_queue_expose() and rely on the renderer computing the diff
from the previous rendering.
2018-04-05 14:56:38 +02:00
Benjamin Otte
d0873c7dec
gsk: Fold gsk_renderer_begin_draw_frame() into renderer
...
It doesn't need to be exported anymore.
As a side effect, the inspector no longer has any information about the
render region, so remove the code that was taking care of that.
2018-04-05 14:56:38 +02:00
Benjamin Otte
2d10c2568c
gtk: Add GtkWidgetPaintable
...
A GtkWidgetPaintable is a paintable that observes a given GtkWidget and
renders that widget into a paintable.
2018-04-05 14:56:38 +02:00
Benjamin Otte
5e99646e1c
dnd: Remove gtk_drag_set_icon_surface()
...
All users are gone. Use gtk_drag_set_icon_paintable() instead.
2018-03-26 18:32:38 +02:00
Benjamin Otte
7fdcc58532
snapshot: Add gtk_snapshot_to_paintable()
...
This is intended for DND icons
2018-03-26 18:16:36 +02:00
Benjamin Otte
9b83116fcb
snapshot: Export gtk_snapshot_append_layout()
...
This is the equivalent snapshot function to pango_cairo_show_layout().
Not to be confused with gtk_snapshot_render_layout(), which is the
equivalent to gtk_render_layout().
2018-03-26 18:16:36 +02:00
Alexander Larsson
39851fbdbf
Continue renaming window to surface
...
This renames a lot of arguments, local variables and functions.
2018-03-21 11:49:14 +01:00