2
* Copyright © 2008 Neil Roberts
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
#ifndef __AISLERIOT_SLOT_RENDERER_H__
19
#define __AISLERIOT_SLOT_RENDERER_H__
21
#include <clutter/clutter.h>
24
#include "ar-card-textures-cache.h"
29
#define AISLERIOT_TYPE_SLOT_RENDERER \
30
(aisleriot_slot_renderer_get_type())
31
#define AISLERIOT_SLOT_RENDERER(obj) \
32
(G_TYPE_CHECK_INSTANCE_CAST ((obj), \
33
AISLERIOT_TYPE_SLOT_RENDERER, \
34
AisleriotSlotRenderer))
35
#define AISLERIOT_SLOT_RENDERER_CLASS(klass) \
36
(G_TYPE_CHECK_CLASS_CAST ((klass), \
37
AISLERIOT_TYPE_SLOT_RENDERER, \
38
AisleriotSlotRendererClass))
39
#define AISLERIOT_IS_SLOT_RENDERER(obj) \
40
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
41
AISLERIOT_TYPE_SLOT_RENDERER))
42
#define AISLERIOT_IS_SLOT_RENDERER_CLASS(klass) \
43
(G_TYPE_CHECK_CLASS_TYPE ((klass), \
44
AISLERIOT_TYPE_SLOT_RENDERER))
45
#define AISLERIOT_SLOT_RENDERER_GET_CLASS(obj) \
46
(G_TYPE_INSTANCE_GET_CLASS ((obj), \
47
AISLERIOT_TYPE_SLOT_RENDERER, \
48
AisleriotSlotRendererClass))
50
typedef struct _AisleriotSlotRenderer AisleriotSlotRenderer;
51
typedef struct _AisleriotSlotRendererClass AisleriotSlotRendererClass;
52
typedef struct _AisleriotSlotRendererPrivate AisleriotSlotRendererPrivate;
53
typedef struct _AisleriotAnimStart AisleriotAnimStart;
55
struct _AisleriotSlotRendererClass
57
ClutterActorClass parent_class;
60
struct _AisleriotSlotRenderer
64
AisleriotSlotRendererPrivate *priv;
67
struct _AisleriotAnimStart
74
GType aisleriot_slot_renderer_get_type (void) G_GNUC_CONST;
76
ClutterActor *aisleriot_slot_renderer_new (ArStyle *style,
77
ArCardTexturesCache *cache,
80
void aisleriot_slot_renderer_set_highlight (AisleriotSlotRenderer *srend,
81
gint hightlight_start);
82
guint aisleriot_slot_renderer_get_highlight (AisleriotSlotRenderer *srend);
84
void aisleriot_slot_renderer_set_revealed_card (AisleriotSlotRenderer *srend,
86
gint aisleriot_slot_renderer_get_revealed_card (AisleriotSlotRenderer *srend);
88
ClutterContainer *aisleriot_slot_renderer_get_animation_layer
89
(AisleriotSlotRenderer *srend);
90
void aisleriot_slot_renderer_set_animation_layer
91
(AisleriotSlotRenderer *srend,
92
ClutterContainer *animation_layer);
94
void aisleriot_slot_renderer_set_animations (AisleriotSlotRenderer *srend,
96
const AisleriotAnimStart *anims,
97
guint n_unexposed_animated_cards);
101
#endif /* __AISLERIOT_SLOT_RENDERER_H__ */