1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>Ipelib: IpeMark class Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.3.4 -->
7
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="functions.html">Class Members</a></div>
8
<h1>IpeMark Class Reference<br>
10
[<a class="el" href="group__obj.html">Ipe Objects</a>]</small>
12
<a href="#_details">More...</a>
14
Inherits <a class="el" href="class_ipe_object.html">IpeObject</a>.
16
<a href="class_ipe_mark-members.html">List of all members.</a><h2>Public Types</h2>
19
<b>ECircle</b> = 1,
24
<b>ECross</b>
28
<h2>Public Member Functions</h2>
30
<li><a class="el" href="class_ipe_mark.html#a0">IpeMark</a> (const <a class="el" href="class_ipe_all_attributes.html">IpeAllAttributes</a> &attr, const <a class="el" href="class_ipe_vector.html">IpeVector</a> &pos)
31
<li><a class="el" href="class_ipe_mark.html#a1">IpeMark</a> (<a class="el" href="class_ipe_repository.html">IpeRepository</a> *rep, const <a class="el" href="class_ipe_xml_attributes.html">IpeXmlAttributes</a> &attr, <a class="el" href="class_ipe_string.html">IpeString</a> data)
32
<li><a class="el" href="class_ipe_mark.html#a2">IpeMark</a> (const <a class="el" href="class_ipe_mark.html">IpeMark</a> &rhs)
33
<li>virtual <a class="el" href="class_ipe_object.html">IpeObject</a> * <a class="el" href="class_ipe_mark.html#a3">Clone</a> () const
34
<li>virtual <a class="el" href="class_ipe_mark.html">IpeMark</a> * <a class="el" href="class_ipe_mark.html#a4">AsMark</a> ()
35
<li>virtual void <a class="el" href="class_ipe_mark.html#a5">Accept</a> (<a class="el" href="class_ipe_visitor.html">IpeVisitor</a> &visitor) const
36
<li>virtual void <a class="el" href="class_ipe_mark.html#a6">SaveAsXml</a> (<a class="el" href="class_ipe_painter.html">IpePainter</a> &painter, <a class="el" href="class_ipe_stream.html">IpeStream</a> &stream, <a class="el" href="class_ipe_string.html">IpeString</a> layer) const
37
<li>virtual void <a class="el" href="class_ipe_mark.html#a7">Draw</a> (<a class="el" href="class_ipe_painter.html">IpePainter</a> &painter) const
38
<li>virtual void <a class="el" href="class_ipe_mark.html#a8">AddToBBox</a> (<a class="el" href="class_ipe_rect.html">IpeRect</a> &box, const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> &m) const
39
<li>virtual double <a class="el" href="class_ipe_mark.html#a9">Distance</a> (const <a class="el" href="class_ipe_vector.html">IpeVector</a> &v, const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> &m, double bound) const
40
<li>virtual void <a class="el" href="class_ipe_mark.html#a10">SnapVtx</a> (const <a class="el" href="class_ipe_vector.html">IpeVector</a> &mouse, const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> &m, <a class="el" href="class_ipe_vector.html">IpeVector</a> &pos, double &bound) const
41
<li>virtual void <a class="el" href="class_ipe_mark.html#a11">CheckStyle</a> (const <a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a> *sheet, <a class="el" href="ipecolor_8h.html#a1">IpeAttributeSeq</a> &seq) const
42
<li><a class="el" href="class_ipe_vector.html">IpeVector</a> <a class="el" href="class_ipe_mark.html#a12">Position</a> () const
43
<li>int <a class="el" href="class_ipe_mark.html#a13">Shape</a> () const
44
<li><a class="el" href="class_ipe_attribute.html">IpeAttribute</a> <a class="el" href="class_ipe_mark.html#a14">Size</a> () const
45
<li>void <a class="el" href="class_ipe_mark.html#a15">SetShape</a> (int shape)
46
<li>void <a class="el" href="class_ipe_mark.html#a16">SetSize</a> (<a class="el" href="class_ipe_attribute.html">IpeAttribute</a> size)
48
<hr><a name="_details"></a><h2>Detailed Description</h2>
51
A mark is a little marker for a "point". Several shapes are available: disks, circles, squares, crosses, etc.
53
<hr><h2>Constructor & Destructor Documentation</h2>
54
<a class="anchor" name="a0" doxytag="IpeMark::IpeMark" ></a><p>
55
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
58
<table cellpadding="0" cellspacing="0" border="0">
60
<td class="md" nowrap valign="top"> IpeMark::IpeMark </td>
61
<td class="md" valign="top">( </td>
62
<td class="md" nowrap valign="top">const <a class="el" href="class_ipe_all_attributes.html">IpeAllAttributes</a> & </td>
63
<td class="mdname" nowrap> <em>attr</em>, </td>
68
<td class="md" nowrap>const <a class="el" href="class_ipe_vector.html">IpeVector</a> & </td>
69
<td class="mdname" nowrap> <em>pos</em></td>
73
<td class="md">) </td>
74
<td class="md" colspan="2"><code> [explicit]</code></td>
81
<table cellspacing=5 cellpadding=0 border=0>
94
<a class="anchor" name="a1" doxytag="IpeMark::IpeMark" ></a><p>
95
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
98
<table cellpadding="0" cellspacing="0" border="0">
100
<td class="md" nowrap valign="top"> IpeMark::IpeMark </td>
101
<td class="md" valign="top">( </td>
102
<td class="md" nowrap valign="top"><a class="el" href="class_ipe_repository.html">IpeRepository</a> * </td>
103
<td class="mdname" nowrap> <em>rep</em>, </td>
108
<td class="md" nowrap>const <a class="el" href="class_ipe_xml_attributes.html">IpeXmlAttributes</a> & </td>
109
<td class="mdname" nowrap> <em>attr</em>, </td>
114
<td class="md" nowrap><a class="el" href="class_ipe_string.html">IpeString</a> </td>
115
<td class="mdname" nowrap> <em>data</em></td>
119
<td class="md">) </td>
120
<td class="md" colspan="2"><code> [explicit]</code></td>
127
<table cellspacing=5 cellpadding=0 border=0>
135
Create from XML stream.
140
<a class="anchor" name="a2" doxytag="IpeMark::IpeMark" ></a><p>
141
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
144
<table cellpadding="0" cellspacing="0" border="0">
146
<td class="md" nowrap valign="top"> IpeMark::IpeMark </td>
147
<td class="md" valign="top">( </td>
148
<td class="md" nowrap valign="top">const <a class="el" href="class_ipe_mark.html">IpeMark</a> & </td>
149
<td class="mdname1" valign="top" nowrap> <em>rhs</em> </td>
150
<td class="md" valign="top"> ) </td>
151
<td class="md" nowrap></td>
158
<table cellspacing=5 cellpadding=0 border=0>
171
<hr><h2>Member Function Documentation</h2>
172
<a class="anchor" name="a3" doxytag="IpeMark::Clone" ></a><p>
173
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
176
<table cellpadding="0" cellspacing="0" border="0">
178
<td class="md" nowrap valign="top"> <a class="el" href="class_ipe_object.html">IpeObject</a> * IpeMark::Clone </td>
179
<td class="md" valign="top">( </td>
180
<td class="mdname1" valign="top" nowrap> </td>
181
<td class="md" valign="top"> ) </td>
182
<td class="md" nowrap> const<code> [virtual]</code></td>
189
<table cellspacing=5 cellpadding=0 border=0>
201
Implements <a class="el" href="class_ipe_object.html#a2">IpeObject</a>. </td>
204
<a class="anchor" name="a4" doxytag="IpeMark::AsMark" ></a><p>
205
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
208
<table cellpadding="0" cellspacing="0" border="0">
210
<td class="md" nowrap valign="top"> <a class="el" href="class_ipe_mark.html">IpeMark</a> * IpeMark::AsMark </td>
211
<td class="md" valign="top">( </td>
212
<td class="mdname1" valign="top" nowrap> </td>
213
<td class="md" valign="top"> ) </td>
214
<td class="md" nowrap><code> [virtual]</code></td>
221
<table cellspacing=5 cellpadding=0 border=0>
229
Return pointer to this object.
233
Reimplemented from <a class="el" href="class_ipe_object.html#a6">IpeObject</a>. </td>
236
<a class="anchor" name="a5" doxytag="IpeMark::Accept" ></a><p>
237
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
240
<table cellpadding="0" cellspacing="0" border="0">
242
<td class="md" nowrap valign="top"> void IpeMark::Accept </td>
243
<td class="md" valign="top">( </td>
244
<td class="md" nowrap valign="top"><a class="el" href="class_ipe_visitor.html">IpeVisitor</a> & </td>
245
<td class="mdname1" valign="top" nowrap> <em>visitor</em> </td>
246
<td class="md" valign="top"> ) </td>
247
<td class="md" nowrap> const<code> [virtual]</code></td>
254
<table cellspacing=5 cellpadding=0 border=0>
262
Call VisitMark of visitor.
266
Implements <a class="el" href="class_ipe_object.html#a1">IpeObject</a>. </td>
269
<a class="anchor" name="a6" doxytag="IpeMark::SaveAsXml" ></a><p>
270
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
273
<table cellpadding="0" cellspacing="0" border="0">
275
<td class="md" nowrap valign="top"> void IpeMark::SaveAsXml </td>
276
<td class="md" valign="top">( </td>
277
<td class="md" nowrap valign="top"><a class="el" href="class_ipe_painter.html">IpePainter</a> & </td>
278
<td class="mdname" nowrap> <em>painter</em>, </td>
283
<td class="md" nowrap><a class="el" href="class_ipe_stream.html">IpeStream</a> & </td>
284
<td class="mdname" nowrap> <em>stream</em>, </td>
289
<td class="md" nowrap><a class="el" href="class_ipe_string.html">IpeString</a> </td>
290
<td class="mdname" nowrap> <em>layer</em></td>
294
<td class="md">) </td>
295
<td class="md" colspan="2"> const<code> [virtual]</code></td>
302
<table cellspacing=5 cellpadding=0 border=0>
310
Save the object in XML format.
314
Implements <a class="el" href="class_ipe_object.html#a10">IpeObject</a>. </td>
317
<a class="anchor" name="a7" doxytag="IpeMark::Draw" ></a><p>
318
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
321
<table cellpadding="0" cellspacing="0" border="0">
323
<td class="md" nowrap valign="top"> void IpeMark::Draw </td>
324
<td class="md" valign="top">( </td>
325
<td class="md" nowrap valign="top"><a class="el" href="class_ipe_painter.html">IpePainter</a> & </td>
326
<td class="mdname1" valign="top" nowrap> <em>painter</em> </td>
327
<td class="md" valign="top"> ) </td>
328
<td class="md" nowrap> const<code> [virtual]</code></td>
335
<table cellspacing=5 cellpadding=0 border=0>
347
Implements <a class="el" href="class_ipe_object.html#a11">IpeObject</a>. </td>
350
<a class="anchor" name="a8" doxytag="IpeMark::AddToBBox" ></a><p>
351
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
354
<table cellpadding="0" cellspacing="0" border="0">
356
<td class="md" nowrap valign="top"> void IpeMark::AddToBBox </td>
357
<td class="md" valign="top">( </td>
358
<td class="md" nowrap valign="top"><a class="el" href="class_ipe_rect.html">IpeRect</a> & </td>
359
<td class="mdname" nowrap> <em>box</em>, </td>
364
<td class="md" nowrap>const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> & </td>
365
<td class="mdname" nowrap> <em>m</em></td>
369
<td class="md">) </td>
370
<td class="md" colspan="2"> const<code> [virtual]</code></td>
377
<table cellspacing=5 cellpadding=0 border=0>
385
Extend <em>box</em> to include the object transformed by <em>m</em>.
387
For Ipe objects in a page, don't call this directly. The <a class="el" href="class_ipe_pg_object.html">IpePgObject</a> caches the bounding box, so it is far more efficient to call <a class="el" href="class_ipe_pg_object.html#a11">IpePgObject::BBox</a>.<p>
388
If called with an empty box, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).
390
Implements <a class="el" href="class_ipe_object.html#a13">IpeObject</a>. </td>
393
<a class="anchor" name="a9" doxytag="IpeMark::Distance" ></a><p>
394
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
397
<table cellpadding="0" cellspacing="0" border="0">
399
<td class="md" nowrap valign="top"> double IpeMark::Distance </td>
400
<td class="md" valign="top">( </td>
401
<td class="md" nowrap valign="top">const <a class="el" href="class_ipe_vector.html">IpeVector</a> & </td>
402
<td class="mdname" nowrap> <em>v</em>, </td>
407
<td class="md" nowrap>const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> & </td>
408
<td class="mdname" nowrap> <em>m</em>, </td>
413
<td class="md" nowrap>double </td>
414
<td class="mdname" nowrap> <em>bound</em></td>
418
<td class="md">) </td>
419
<td class="md" colspan="2"> const<code> [virtual]</code></td>
426
<table cellspacing=5 cellpadding=0 border=0>
434
Return distance of transformed object to point <em>v</em>. If larger than <em>bound</em>, can just return <em>bound</em>.
436
Implements <a class="el" href="class_ipe_object.html#a12">IpeObject</a>. </td>
439
<a class="anchor" name="a10" doxytag="IpeMark::SnapVtx" ></a><p>
440
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
443
<table cellpadding="0" cellspacing="0" border="0">
445
<td class="md" nowrap valign="top"> void IpeMark::SnapVtx </td>
446
<td class="md" valign="top">( </td>
447
<td class="md" nowrap valign="top">const <a class="el" href="class_ipe_vector.html">IpeVector</a> & </td>
448
<td class="mdname" nowrap> <em>mouse</em>, </td>
453
<td class="md" nowrap>const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> & </td>
454
<td class="mdname" nowrap> <em>m</em>, </td>
459
<td class="md" nowrap><a class="el" href="class_ipe_vector.html">IpeVector</a> & </td>
460
<td class="mdname" nowrap> <em>pos</em>, </td>
465
<td class="md" nowrap>double & </td>
466
<td class="mdname" nowrap> <em>bound</em></td>
470
<td class="md">) </td>
471
<td class="md" colspan="2"> const<code> [virtual]</code></td>
478
<table cellspacing=5 cellpadding=0 border=0>
486
Compute possible vertex snapping position for transformed object.
488
Looks only for positions closer than <em>bound</em>. If successful, modify <em>pos</em> and <em>bound</em>.
490
Implements <a class="el" href="class_ipe_object.html#a15">IpeObject</a>. </td>
493
<a class="anchor" name="a11" doxytag="IpeMark::CheckStyle" ></a><p>
494
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
497
<table cellpadding="0" cellspacing="0" border="0">
499
<td class="md" nowrap valign="top"> void IpeMark::CheckStyle </td>
500
<td class="md" valign="top">( </td>
501
<td class="md" nowrap valign="top">const <a class="el" href="class_ipe_style_sheet.html">IpeStyleSheet</a> * </td>
502
<td class="mdname" nowrap> <em>sheet</em>, </td>
507
<td class="md" nowrap><a class="el" href="ipecolor_8h.html#a1">IpeAttributeSeq</a> & </td>
508
<td class="mdname" nowrap> <em>seq</em></td>
512
<td class="md">) </td>
513
<td class="md" colspan="2"> const<code> [virtual]</code></td>
520
<table cellspacing=5 cellpadding=0 border=0>
528
Check symbolic attributes of object.
532
Reimplemented from <a class="el" href="class_ipe_object.html#a16">IpeObject</a>. </td>
535
<a class="anchor" name="a12" doxytag="IpeMark::Position" ></a><p>
536
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
539
<table cellpadding="0" cellspacing="0" border="0">
541
<td class="md" nowrap valign="top"> <a class="el" href="class_ipe_vector.html">IpeVector</a> IpeMark::Position </td>
542
<td class="md" valign="top">( </td>
543
<td class="mdname1" valign="top" nowrap> </td>
544
<td class="md" valign="top"> ) </td>
545
<td class="md" nowrap> const<code> [inline]</code></td>
552
<table cellspacing=5 cellpadding=0 border=0>
560
Return mark position.
565
<a class="anchor" name="a13" doxytag="IpeMark::Shape" ></a><p>
566
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
569
<table cellpadding="0" cellspacing="0" border="0">
571
<td class="md" nowrap valign="top"> int IpeMark::Shape </td>
572
<td class="md" valign="top">( </td>
573
<td class="mdname1" valign="top" nowrap> </td>
574
<td class="md" valign="top"> ) </td>
575
<td class="md" nowrap> const<code> [inline]</code></td>
582
<table cellspacing=5 cellpadding=0 border=0>
595
<a class="anchor" name="a14" doxytag="IpeMark::Size" ></a><p>
596
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
599
<table cellpadding="0" cellspacing="0" border="0">
601
<td class="md" nowrap valign="top"> <a class="el" href="class_ipe_attribute.html">IpeAttribute</a> IpeMark::Size </td>
602
<td class="md" valign="top">( </td>
603
<td class="mdname1" valign="top" nowrap> </td>
604
<td class="md" valign="top"> ) </td>
605
<td class="md" nowrap> const<code> [inline]</code></td>
612
<table cellspacing=5 cellpadding=0 border=0>
625
<a class="anchor" name="a15" doxytag="IpeMark::SetShape" ></a><p>
626
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
629
<table cellpadding="0" cellspacing="0" border="0">
631
<td class="md" nowrap valign="top"> void IpeMark::SetShape </td>
632
<td class="md" valign="top">( </td>
633
<td class="md" nowrap valign="top">int </td>
634
<td class="mdname1" valign="top" nowrap> <em>shape</em> </td>
635
<td class="md" valign="top"> ) </td>
636
<td class="md" nowrap></td>
643
<table cellspacing=5 cellpadding=0 border=0>
656
<a class="anchor" name="a16" doxytag="IpeMark::SetSize" ></a><p>
657
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
660
<table cellpadding="0" cellspacing="0" border="0">
662
<td class="md" nowrap valign="top"> void IpeMark::SetSize </td>
663
<td class="md" valign="top">( </td>
664
<td class="md" nowrap valign="top"><a class="el" href="class_ipe_attribute.html">IpeAttribute</a> </td>
665
<td class="mdname1" valign="top" nowrap> <em>size</em> </td>
666
<td class="md" valign="top"> ) </td>
667
<td class="md" nowrap></td>
674
<table cellspacing=5 cellpadding=0 border=0>
687
<hr>The documentation for this class was generated from the following files:<ul>
688
<li>ipemark.h<li>ipemark.cpp</ul>