backends/cursor: Add API to set and get the texture buffer transform
In Wayland clients can commit transformed surfaces, so the compositor can directly use them on hardware planes. We already support that for other surfaces, this is the first step to also support it on cursor sprites. https://gitlab.gnome.org/GNOME/mutter/merge_requests/526
This commit is contained in:

committed by
Jonas Ådahl

parent
b5354fb3cd
commit
1fc7935858
@ -43,6 +43,7 @@ typedef struct _MetaCursorSpritePrivate
|
||||
|
||||
CoglTexture2D *texture;
|
||||
float texture_scale;
|
||||
MetaMonitorTransform texture_transform;
|
||||
int hot_x, hot_y;
|
||||
} MetaCursorSpritePrivate;
|
||||
|
||||
@ -110,6 +111,16 @@ meta_cursor_sprite_set_texture_scale (MetaCursorSprite *sprite,
|
||||
priv->texture_scale = scale;
|
||||
}
|
||||
|
||||
void
|
||||
meta_cursor_sprite_set_texture_transform (MetaCursorSprite *sprite,
|
||||
MetaMonitorTransform transform)
|
||||
{
|
||||
MetaCursorSpritePrivate *priv =
|
||||
meta_cursor_sprite_get_instance_private (sprite);
|
||||
|
||||
priv->texture_transform = transform;
|
||||
}
|
||||
|
||||
CoglTexture *
|
||||
meta_cursor_sprite_get_cogl_texture (MetaCursorSprite *sprite)
|
||||
{
|
||||
@ -140,6 +151,15 @@ meta_cursor_sprite_get_texture_scale (MetaCursorSprite *sprite)
|
||||
return priv->texture_scale;
|
||||
}
|
||||
|
||||
MetaMonitorTransform
|
||||
meta_cursor_sprite_get_texture_transform (MetaCursorSprite *sprite)
|
||||
{
|
||||
MetaCursorSpritePrivate *priv =
|
||||
meta_cursor_sprite_get_instance_private (sprite);
|
||||
|
||||
return priv->texture_transform;
|
||||
}
|
||||
|
||||
void
|
||||
meta_cursor_sprite_prepare_at (MetaCursorSprite *sprite,
|
||||
int x,
|
||||
@ -164,6 +184,7 @@ meta_cursor_sprite_init (MetaCursorSprite *sprite)
|
||||
meta_cursor_sprite_get_instance_private (sprite);
|
||||
|
||||
priv->texture_scale = 1.0f;
|
||||
priv->texture_transform = META_MONITOR_TRANSFORM_NORMAL;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user