Bilal Elmoussaoui
d584a512cb
clutter/stage: Get Context from actor state
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
b3da64c20e
clutter/pick-context: Get CoglContext from actor context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
617a3aa58b
clutter/actor: Get Backend from associated actor context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
370e7d3157
clutter/text: Get Backend from associated actor context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
3152b4a3f1
clutter/stage: Get Backend & Context from the associated actor
...
Had to move the state construction from init to constructed, to ensure
that the Actor's constructor has been executed and Actor.get_context
won't return NULL
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
62da8d7aac
clutter: Get CoglContext from a CoglTexture where possible
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:40 +02:00
Bilal Elmoussaoui
75c7ced752
clutter/text: Get CoglContext from the actor's associated Backend
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
bc633280d9
clutter/stage: Get Backend from stage's associated context
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
1abbfb5ed2
clutter/context: Create a Settings when constructed
...
Instead of removing Settings.get_default, we mark it as deprecated
as a lot of extensions seems to use it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
8013049130
clutter: Stop using Settings.get_default
...
Instead, get it from the context. See next commit
For ClutterText, we had to switch to using constructed
as the ClutterContext will be set for the ClutterActor in the
constructor phase
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
8a71c89442
clutter/backend: Keep a back pointer to the Context
...
Will be useful in the upcoming commits
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Bilal Elmoussaoui
b02a29fee7
clutter/context: Add API to get the corresponding Settings
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3977 >
2024-08-29 15:26:39 +02:00
Michel Dänzer
c2621eca15
onscreen/native: Set latest cogl sync_fd on KMS update
...
See previous commit log on the effects of this.
This means the deadline evasion needs to be added in both cases in
clutter_frame_clock_notify_presented.
v2:
* Use meta_kms_update_set_sync_fd. (Jonas Ådahl)
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3958 >
2024-08-28 14:42:38 +00:00
Bilal Elmoussaoui
70dc8cabac
clutter/settings: Remove unused fontconfig-timestamp property
...
As a writable property, nothing sets it in both Mutter/GNOME Shell
making it a dead-code. As we will be moving pango related bits to
gnome-shell, remove this one already
Removes pango-ft2 dependency
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3969 >
2024-08-22 19:09:51 +00:00
Bilal Elmoussaoui
60edafe3eb
cogl/pango: Drop mipmapping API/env variables
...
As GNOME Shell always sets that to FALSE anyways
This does not drop the separate caching whether the mipmapping is
disabled or not, in case shell wants to make use of that in the future
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
4f606261d3
clutter: Remove unused get_font_map
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
39da6e10fa
clutter/context: Move get_show_fps to it correct namespace
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
078bbd82c8
clutter: Export Context header
...
As otherwise, GNOME Shell canno't make use of the public APIs, especially the
future Context.get_settings / Context.get_text_direction for example
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
8291b2d6d0
clutter/context: Free the stage manager
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
0d93f805d4
clutter/context: Create a StageManager when constructed
...
Instead of delegating that to StageManager.get_default and add a private getter
for it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
914787294f
clutter/stage-manager: Mark as private type
...
Nothing is supposed to interact with it externally
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
09c7c2bf7b
clutter/stage-manager: Remove unused APIs
...
As the type will be made private in future commits
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:01 +00:00
Bilal Elmoussaoui
5391ab56e8
clutter/stage-manager: Mark as final
...
It is not something that can be replaced
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:00 +00:00
Bilal Elmoussaoui
3fb1c9ab21
clutter/context: Remove unused is_initalized
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:00 +00:00
Bilal Elmoussaoui
3453a6e51f
clutter/stage-manager: Remove unused default-stage
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3962 >
2024-08-22 16:45:00 +00:00
Sebastian Wick
7610973a94
Replace deprecated g_qsort_with_data with g_sort_array
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3899 >
2024-08-15 23:58:53 +02:00
Jonas Ådahl
6ec1312384
renderer-view/native: Update deadline evasion each frame
...
The deadline evasion depends on debug flags, but they are not trackable,
so update the deadline evasion each time we schedule an update.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3184 >
2024-08-13 10:09:05 +00:00
Jonas Ådahl
5da94d2c1d
clutter/frame-clock: Take deadline evasion into account
...
This is meant to be the amount of time before a CRTC deadline we're
usually dispatching at. It's not yet set by anything however.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3184 >
2024-08-13 10:09:04 +00:00
Sebastian Wick
608d66afa5
renderer-view: Set ClutterColorStates from a MetaColorDevice
...
And stop passing in the color states from the RendererNative. We also
keep the color states updated by listening for changes in the color
device.
The RendererX11Cm has a single view and no mapping to a specific color
device, so we handle the absense of a color device as well and rely on
ClutterStageView to have the default color states.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3930 >
2024-08-09 15:51:36 +00:00
Sebastian Wick
5b44d589b1
clutter/stage-view: Move offscreen creation functions around
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3930 >
2024-08-09 15:51:36 +00:00
Sebastian Wick
a91fd4a72c
clutter/stage-view: Move offscreen creation from renderer to view
...
This allows us to destroy and create a new offscreen dynamically, when
the rotation or color state changes.
An idle gsource with priority higher than CLUTTER_PRIORITY_REDRAW is
used to ensure the an offscreen exists when required without having to
allocate in the redraw process.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3930 >
2024-08-09 15:51:36 +00:00
Sebastian Wick
6a1749009f
clutter/stage-view: Pass the format when creating offscreens
...
Also use g_autoptr to make the code easier.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3930 >
2024-08-09 15:51:36 +00:00
Sebastian Wick
163efa620b
clutter/stage-view: Ensure we have view and output ColorStates
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3930 >
2024-08-09 15:51:36 +00:00
Sebastian Wick
d8ecd07f9f
clutter/color-state: Allow comparing NULL color states
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3930 >
2024-08-09 15:51:36 +00:00
Sebastian Wick
0ed160bc5a
stage-view: Move transform from MetaRenderereView to ClutterStageView
...
This is possible because MonitorTransform is a Mtk type now. It will
allow us to create the offscreens in ClutterStageView.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3930 >
2024-08-09 15:51:36 +00:00
Bilal Elmoussaoui
9c7eafc8c3
clutter/context: Track if accessibility enabled
...
Currently, we would only disable a11y if a certain flag is passed
but the function is always called with NONE flag. Instead
drop the flag, use a new environment variable for that
That value is then used by actors to short-circuit get_accessible
implementation and return NULL if the accessibility is not enabled
Also clean the other accessibility functions
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
4eb46eb3d4
clutter/actor: Remove has_accessible
...
Instead, the users of the API can check if get_accessible returns NULL
which is more correct and avoids the extra vfunc that is not even used
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
f7c828f012
clutter: Remove unused FeatureFlags
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
334a85099d
clutter: Remove unused ScrollActor
...
As GNOME Shell has a more complete solution with StScrollable /
StViewport / StScrollbar and does not make use of the Clutter actor.
We might want to "upstream" GNOME Shell infrastructure later at some
point but the current "solution" is too poor, so just drop it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
ec028553d3
accessibility: Set various accessible names
...
For actors that are created by libmutter itself.
Although, not sure if such names should be translatable?
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
6874e98e5d
clutter/actor: Remove AtkObject.get_attributes impl
...
It returns useless information, the toolkit and it versions are reported
in the ClutterStageManagerAccessible
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
defa3a302d
clutter/actor: Implement AtkComponent.get_alpha
...
And a little clean up along the way
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
cbbf1b7b51
clutter/stage: Set accessible-role at construct time
...
Allows dropping the initialize override
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
cc4d72a343
clutter: Remove CloneAccessible
...
As it only sets the role, which we can set nowadays through a
property in ClutterActor
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
db05ef9c63
clutter/actor: Move few accessible bits from StWidget
...
As they are better fit in ClutterActor
The accessible_role is intentionally put in the public fields
as ClutterActorAccessible needs access to that without going
in recursion
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
f5c2b6949d
clutter/actor: Better fallback for has_accessible
...
Check if the accessible field is set instead of always returning
True
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
471d8d913e
clutter: Rename CallyText to TextAccessible
...
Moving it to the correct namespace and making it final & private
As there is nothing subclassing it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
71f5d30d7f
clutter: Rename CallyRoot to StageManagerAccessible
...
Moving it to the correct namespace and marking it as a private type
as it is not supposed to be replaced externally
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
3d22e4fe40
clutter: Rename CallyStage to StageAccessible
...
Moving it to the correct namespace and marking it a final private
type
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00
Bilal Elmoussaoui
02c6473175
clutter: Rename CallyClone to CloneAccessible
...
Moving it to the correct namespace and marking as final
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3917 >
2024-08-07 22:46:16 +00:00