The Gnome Chemistry Utils
0.14.0
Main Page
Namespaces
Classes
Files
File List
File Members
libs
gccv
canvas.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
* Gnome Chemistry Utils
5
* gccv/canvas.h
6
*
7
* Copyright (C) 2008-2011 Jean Bréfort <jean.brefort@normalesup.org>
8
*
9
* This program is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License as
11
* published by the Free Software Foundation; either version 3 of the
12
* License, or (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
22
* USA
23
*/
24
25
#ifndef GCCV_CANVAS_H
26
#define GCCV_CANVAS_H
27
28
#include <
gcu/macros.h
>
29
#include <gtk/gtk.h>
30
38
namespace
gccv {
39
40
class
Client;
41
class
Group;
42
class
Item;
43
52
class
CanvasPrivate;
53
class
Canvas
54
{
55
friend
class
CanvasPrivate;
56
public
:
63
Canvas
(
Client
*client);
75
virtual
~Canvas
();
76
85
Item
*
GetItemAt
(
double
x,
double
y);
89
GtkWidget *
GetWidget
() {
return
m_Widget;}
97
void
Invalidate
(
double
x0,
double
y0,
double
x1,
double
y1);
103
void
SetBackgroundColor
(GOColor color);
109
void
SetZoom
(
double
zoom);
116
void
Render
(cairo_t *cr,
bool
is_vector);
117
118
private
:
119
GtkWidget *m_Widget;
120
Client
*m_Client;
121
bool
m_Dragging;
122
126
GCU_RO_PROP
(
double
, Zoom)
130
GCU_RO_PROP
(
Group
*, Root)
148
GCU_PROP
(
double
, Gap)
152
GCU_PROP
(GOColor,
Color
)
159
GCU_RO_PROP
(GOColor, BackgroundColor)
163
GCU_RO_PROP
(
unsigned
, LastEventState)
164
};
165
166
}
167
168
#endif // GCCV_CANVAS_H
Generated on Tue Jan 1 2013 22:29:22 for The Gnome Chemistry Utils by
1.8.1.2