rendered paste body string text;
Color bdyColor, fillColor;
bool widen, thick;
CPoly() : widen(false), thick(false) {}
void draw() const;
bool selected;
int midX();
int midY();
// globals
static vector<CPoly> allCPoly, allCPoly2, mouseInfo;
static bool showCPoly;
static void drawAll(bool img2=false);
//New Methods
void changeBackgroundColor(Color col);
void changeFillColor(Color col);
void select();
void unselect();
void toggleSelect();
vector <Coord> getCoords();
bool isInside(Coord c);
bool isInside(double x, double y);
static void pointToPolygon(double x, double y, bool inSecondWindow);
static void removeCPoly(int first, int last, bool inSecondWindow);
static void pop_backCPoly(unsigned int numRemoved, bool inSecondWindow);
};
struct CPolyGroup {
vector <CPoly*> poly;
Color color;
void setColor(Color col);
void colorAdjust(CPoly* cpoly);
void push_back(CPoly* cpoly);
void remove(CPoly* cpoly);
};
//vector<CPolyGroup> CPolyGroup::groups;
void addCPoly(Coord, Color col=RED);
void addCPoly2(Coord, Color col=RED);
void addCPoly(Coord, Coord, Color col=WHITE, bool w=false);
void addCPoly2(Coord, Coord, Color col=WHITE, bool w=false);
void addCPoly(const vector<Coord> &pt, Color col=WHITE, bool w=false);
void addCPoly2(const vector<Coord> &pt, Color col=WHITE, bool w=false);
void addCPoly(Coord, double, Color col=RED);
void addCPoly2(Coord, double, Color col=RED);
void addCPoly(PixelEdge, Color col=WHITE);
void addCPoly(const Segment &, Color col=WHITE);
void addCPoly(const Arc &, Color col=WHITE);
void addCPoly(const Curvelet &, Color col=WHITE, bool left=true);
void addCPoly(const Curve &, Color col=WHITE);
void moveImgBBox(PixelLoc delta);
void zoomInBy(double s, int x, int y, bool img2);
void zoomInBy(double s, Coord fixed, bool img2);
void resizeWindow(double s, bool img2); // in gl.cpp
void doubleWindow(); // in gl.cpp
void resetZoom(bool img2);
void reshape(bool img2); // in ui.cpp
void reshape(int w, int h, bool img2); // in ui.cpp
void estimateImageScale(int w, int h, float &scale);
void fitWindowToImage(bool updateScale, bool img2);
void drawMouseInfo(int x, int y, bool shiftPressed, bool ctrlPressed);
void undrawMouseInfo();
void drawWindow(bool img2=false);
void drawNumber(Coord pt, double d);
void sendWidth(float w);
void sendPointSize(float s);
void printTitle(const char *s);
void printTitle(bool t);
void printTitle(const char *s, double d);
void printTitle(const char *s, int i);
void printTitle(const char *s, bool t);
void printTitle(double t);
void printTitle(Coord c);
void printTitle(const Curvelet &c);
void printTitle(const Curve &c);
void displayAllConnections(bool sameBdy, int i);
void displayConnectionInfo(bool sameBdy, int i=0, int j=0, bool init=false);
void mysrand(long val);
static const double DEFAULT_LINE_WIDTH = 1.5;
#ifdef VIEW3D
class Poly3;
void printTitle(const Poly3 &m);
#endif
#endif // _ERIOLHELPER_