summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-03-17 20:22:53 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-03-17 20:22:53 (GMT)
commit2b15e1aff433a1013cc13107556eb6a897bfb744 (patch)
tree2bd359d1013b91cad4acf8ee9908a502909d923c
parentb502a6f9ac62ef22dda0e9a172dc56538f5c5a9f (diff)
downloadblt-2b15e1aff433a1013cc13107556eb6a897bfb744.zip
blt-2b15e1aff433a1013cc13107556eb6a897bfb744.tar.gz
blt-2b15e1aff433a1013cc13107556eb6a897bfb744.tar.bz2
Region: add filled region support for circle, ellipse, box, polygon
-rw-r--r--tksao/frame/basefill.C109
-rw-r--r--tksao/frame/basefill.h41
2 files changed, 0 insertions, 150 deletions
diff --git a/tksao/frame/basefill.C b/tksao/frame/basefill.C
deleted file mode 100644
index 91e5171..0000000
--- a/tksao/frame/basefill.C
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright (C) 1999-2016
-// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
-// For conditions of distribution and use, see copyright notice in "copyright"
-
-#include <tk.h>
-
-#include "basefill.h"
-
-// BaseFill
-
-BaseFill::BaseFill(const BaseFill& a)
-{
- fill_ = a.fill_;
-}
-
-BaseFill::BaseFill()
-{
- fill_ =0;
-}
-
-BaseFill::BaseFill(int ff)
-{
- fill_ =ff;
-}
-
-// BaseFillEllipse
-
-BaseFillEllipse::BaseFillEllipse(const BaseFillEllipse& a) : BaseFill(a) {}
-
-BaseFillEllipse::BaseFillEllipse() : BaseFill() {}
-
-BaseFillEllipse::BaseFillEllipse(int ff) : BaseFill(ff) {}
-
-void BaseFillEllipse::renderXCircleDraw(Display* display, Drawable drawable,
- GC lgc,
- Vector& st, Vector& size,
- int a1, int aa)
-{
- if (fill_)
- XFillArc(display, drawable, lgc, st[0], st[1], size[0], size[1], a1, aa);
- else
- XDrawArc(display, drawable, lgc, st[0], st[1], size[0], size[1], a1, aa);
-}
-
-void BaseFillEllipse::renderXEllipseDraw(Display* display, Drawable drawable,
- GC lgc,
- XPoint* pts, int cnt)
-{
- if (fill_)
- XFillPolygon(display, drawable, lgc, pts, cnt, Convex, CoordModeOrigin);
- else
- XDrawLines(display, drawable, lgc, pts, cnt, CoordModeOrigin);
-}
-
-void BaseFillEllipse::renderPSCircleDraw(Base* parent,
- Vector& cc, double l,
- float a1, float a2)
-{
- ostringstream str;
- str << "newpath "
- << cc.TkCanvasPs(parent->getCanvas()) << ' '
- << l << ' '
- << a1 << ' ' << a2 << ' '
- << "arc ";
- if (fill_)
- str << "fill";
- else
- str << "stroke";
- str << endl << ends;
-
- Tcl_AppendResult(parent->interp, str.str().c_str(), NULL);
-}
-
-void BaseFillEllipse::renderPSEllipseArcDraw(Base* parent, Vector& center,
- Vector& tt0, Vector& xx1,
- Vector& xx2, Vector& tt1)
-{
- ostringstream str;
- if (fill_) {
- Vector cc = parent->mapFromRef(center,Coord::CANVAS);
-
- str << "newpath "
- << tt0.TkCanvasPs(parent->getCanvas()) << ' '
- << "moveto "
- << xx1.TkCanvasPs(parent->getCanvas()) << ' '
- << xx2.TkCanvasPs(parent->getCanvas()) << ' '
- << tt1.TkCanvasPs(parent->getCanvas()) << ' '
- << "curveto fill" << endl
- << "newpath "
- << cc.TkCanvasPs(parent->getCanvas()) << ' '
- << "moveto "
- << tt0.TkCanvasPs(parent->getCanvas()) << ' '
- << "lineto "
- << tt1.TkCanvasPs(parent->getCanvas()) << ' '
- << "lineto closepath gsave" << endl
- << "1 setlinejoin .75 setlinewidth stroke" << endl
- << "grestore fill" << endl << ends;
- }
- else
- str << "newpath "
- << tt0.TkCanvasPs(parent->getCanvas()) << ' '
- << "moveto "
- << xx1.TkCanvasPs(parent->getCanvas()) << ' '
- << xx2.TkCanvasPs(parent->getCanvas()) << ' '
- << tt1.TkCanvasPs(parent->getCanvas()) << ' '
- << "curveto stroke" << endl << ends;
-
- Tcl_AppendResult(parent->interp, str.str().c_str(), NULL);
-}
diff --git a/tksao/frame/basefill.h b/tksao/frame/basefill.h
deleted file mode 100644
index 5e2dd2c..0000000
--- a/tksao/frame/basefill.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (C) 1999-2016
-// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
-// For conditions of distribution and use, see copyright notice in "copyright"
-
-#ifndef __basefill_h__
-#define __basefill_h__
-
-#include "vector.h"
-#include "base.h"
-
-class BaseFill {
- protected:
- int fill_;
-
- protected:
- void doit();
-
- public:
- BaseFill();
- BaseFill(int);
- BaseFill(const BaseFill& a);
-
- void fill(int ff) {fill_ = ff;}
- int getFill() {return fill_;}
-};
-
-class BaseFillEllipse : public BaseFill {
- protected:
- void renderXCircleDraw(Display*, Drawable, GC, Vector&, Vector&, int, int);
- void renderXEllipseDraw(Display*, Drawable, GC, XPoint*, int);
- void renderPSCircleDraw(Base*, Vector&, double, float, float);
- void renderPSEllipseArcDraw(Base*, Vector&, Vector&, Vector&,
- Vector&, Vector&);
-
- public:
- BaseFillEllipse();
- BaseFillEllipse(int);
- BaseFillEllipse(const BaseFillEllipse& a);
-};
-
-#endif