{render,config}: allow specifying wallpaper anchor position
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Iee73e9d149e85d2c00eaba4be25d42bd6a6a6964
This commit is contained in:
parent
dd0252fe7b
commit
a82b986ac6
4 changed files with 189 additions and 29 deletions
12
src/core.c
12
src/core.c
|
|
@ -112,19 +112,21 @@ static int assign_wallpaper_to_output(chroma_state_t *state,
|
|||
// Store old configuration values for comparison
|
||||
chroma_scale_mode_t old_scale_mode = output->scale_mode;
|
||||
chroma_filter_quality_t old_filter_quality = output->filter_quality;
|
||||
chroma_anchor_t old_anchor = output->anchor;
|
||||
bool had_config = output->config_loaded;
|
||||
|
||||
// Load configuration for this output (scale mode and filter quality)
|
||||
// Load configuration for this output (scale mode, filter quality, anchor)
|
||||
if (chroma_config_get_mapping_for_output(
|
||||
&state->config, output->name ? output->name : "unknown",
|
||||
&output->scale_mode, &output->filter_quality) == CHROMA_OK) {
|
||||
&output->scale_mode, &output->filter_quality, &output->anchor) == CHROMA_OK) {
|
||||
output->config_loaded = true;
|
||||
chroma_log("DEBUG", "Loaded config for output %u: scale=%d, filter=%d",
|
||||
output->id, output->scale_mode, output->filter_quality);
|
||||
chroma_log("DEBUG", "Loaded config for output %u: scale=%d, filter=%d, anchor=%d",
|
||||
output->id, output->scale_mode, output->filter_quality, output->anchor);
|
||||
|
||||
// Check if configuration changed and invalidate texture if needed
|
||||
if (had_config && (old_scale_mode != output->scale_mode ||
|
||||
old_filter_quality != output->filter_quality)) {
|
||||
old_filter_quality != output->filter_quality ||
|
||||
old_anchor != output->anchor)) {
|
||||
chroma_output_invalidate_texture(output);
|
||||
output->vbo_dirty = true; // VBO needs update for new scale mode
|
||||
chroma_log("DEBUG",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue