The Gnome Chemistry Utils
0.12.11
Main Page
Namespaces
Classes
Files
File List
File Members
libs
gcp
gcp/arrow.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
* GChemPaint library
5
* arrow.h
6
*
7
* Copyright (C) 2002-2010 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 2 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 GCHEMPAINT_ARROW_H
26
#define GCHEMPAINT_ARROW_H
27
28
#include <
gcu/object.h
>
29
#include <
gccv/item-client.h
>
30
32
namespace
gcp {
33
37
enum
ArrowTypes
38
{
42
SimpleArrow
,
46
ReversibleArrow
,
50
FullReversibleArrow
,
51
};
52
55
class
Arrow
:
public
gcu::Object
,
public
gccv::ItemClient
56
{
57
public
:
64
Arrow
(
gcu::TypeId
Type);
68
virtual
~Arrow
();
69
78
bool
Load
(xmlNodePtr node);
86
void
SetSelected
(
int
state);
95
void
SetCoords
(
double
xstart,
double
ystart,
double
xend,
double
yend);
104
bool
GetCoords
(
double
* xstart,
double
* ystart,
double
* xend,
double
* yend);
112
void
Move
(
double
x,
double
y,
double
z = 0);
120
void
Transform2D
(
gcu::Matrix2D
& m,
double
x,
double
y);
125
double
GetYAlign
();
135
bool
SetProperty
(
unsigned
property,
char
const
*value);
136
137
protected
:
145
bool
Save
(xmlDocPtr xml, xmlNodePtr node)
const
;
146
147
std::string
Name
();
148
149
protected
:
153
double
m_x
;
157
double
m_y
;
161
double
m_width
;
165
double
m_height
;
166
};
167
168
}
// namespace gcp
169
170
#endif //GCHEMPAINT_ARROW_H
Generated on Tue Jun 26 2012 08:44:53 for The Gnome Chemistry Utils by
1.8.1.1