mirror of
https://github.com/brl/mutter.git
synced 2024-11-28 02:50:41 -05:00
6260814285
If we have repeats on for a full-sized image, then if the background is displayed scaled (for example, in a desktop preview mode) then we can get artifacts along the edge of the background where the repeat of the opposite edge is blended in by bilinear scaling. So turn off repeats when the screen and background image sizes match. https://bugzilla.gnome.org/show_bug.cgi?id=634833
59 lines
2.6 KiB
C
59 lines
2.6 KiB
C
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
/*
|
|
* meta-background-actor.h: Actor for painting the root window background
|
|
*
|
|
* Copyright 2010 Red Hat, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
* 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef META_BACKGROUND_ACTOR_H
|
|
#define META_BACKGROUND_ACTOR_H
|
|
|
|
#include <clutter/clutter.h>
|
|
|
|
#include "screen.h"
|
|
|
|
/**
|
|
* MetaBackgroundActor:
|
|
*
|
|
* This class handles tracking and painting the root window background.
|
|
* By integrating with #MetaWindowGroup we can avoid painting parts of
|
|
* the background that are obscured by other windows.
|
|
*/
|
|
|
|
#define META_TYPE_BACKGROUND_ACTOR (meta_background_actor_get_type ())
|
|
#define META_BACKGROUND_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_BACKGROUND_ACTOR, MetaBackgroundActor))
|
|
#define META_BACKGROUND_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_BACKGROUND_ACTOR, MetaBackgroundActorClass))
|
|
#define META_IS_BACKGROUND_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_BACKGROUND_ACTOR))
|
|
#define META_IS_BACKGROUND_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_BACKGROUND_ACTOR))
|
|
#define META_BACKGROUND_ACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_BACKGROUND_ACTOR, MetaBackgroundActorClass))
|
|
|
|
typedef struct _MetaBackgroundActor MetaBackgroundActor;
|
|
typedef struct _MetaBackgroundActorClass MetaBackgroundActorClass;
|
|
typedef struct _MetaBackgroundActorPrivate MetaBackgroundActorPrivate;
|
|
|
|
GType meta_background_actor_get_type (void);
|
|
|
|
ClutterActor *meta_background_actor_new (MetaScreen *screen);
|
|
|
|
void meta_background_actor_update (MetaBackgroundActor *actor);
|
|
void meta_background_actor_set_visible_region (MetaBackgroundActor *self,
|
|
cairo_region_t *visible_region);
|
|
void meta_background_actor_screen_size_changed (MetaBackgroundActor *self);
|
|
|
|
#endif /* META_BACKGROUND_ACTOR_H */
|