X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fsgp.h;h=7cb3409da3293021be235a583e3759eb26e8c865;hp=2d83b2ed6b2eaac7ca02497a530461e6023551e8;hb=1a050c98763fbbc0662731b0b76953acede6f5d7;hpb=c00c639073653fac7463a88f2b000f263236550d diff --git a/include/sgp.h b/include/sgp.h index 2d83b2e..7cb3409 100644 --- a/include/sgp.h +++ b/include/sgp.h @@ -7,9 +7,9 @@ ** Date Started: 1984 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: sgp.h,v 1.24 2001/01/02 16:02:13 kevin Exp $ +** $Id$ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -72,7 +72,7 @@ public: #endif SGPDriver (const char* szWinTitle = "", int xsize = 640, int ysize = 480); - + ~SGPDriver (); int getPhysicalXSize () const @@ -103,52 +103,56 @@ public: }; -class RGBColor; +class SGP_RGBColor; class SGP { private: - int m_iPhysicalXSize; // Physical Window size + int m_iPhysicalXSize; // Physical Window size int m_iPhysicalYSize; SGPDriver m_driver; - double xw_min; // Window extents + double xw_min; // Window extents double yw_min; double xw_max; double yw_max; - double xv_min; // Viewport extents + double xv_min; // Viewport extents double yv_min; double xv_max; double yv_max; - double viewNDC[4]; // Viewport array for clip_rect() + double viewNDC[4]; // Viewport array for clip_rect() int m_iCurrentPhysicalX; int m_iCurrentPhysicalY; double m_dCurrentWorldX; double m_dCurrentWorldY; double m_dTextAngle; + int m_iTextPointSize; bool m_bRecalcTransform; double m_dPointsPerPixel; // points (72pt/in) per screen pixel; int m_iLinestyle; + int m_iMarker; // Master coordinates are coordinates before CTM transformation // World coordinates are coordinates defined by setWindow() // Normalized device coordinates range from 0. to 1. in both axes - TransformationMatrix2D wc_to_ndc; // World coord to NDC matrix - TransformationMatrix2D mc_to_ndc; // Master to NDC + TransformationMatrix2D wc_to_ndc; // World coord to NDC matrix + TransformationMatrix2D mc_to_ndc; // Master to NDC TransformationMatrix2D ndc_to_mc; // NDC to Master - TransformationMatrix2D m_ctm; // Current transfromation matrix - + TransformationMatrix2D m_ctm; // Current transfromation matrix + void calc_transform (); - static RGBColor s_aRGBColor[]; + static SGP_RGBColor s_aRGBColor[]; static int s_iRGBColorCount; #if HAVE_WXWINDOWS wxPen m_pen; wxFont* m_pFont; + + void initFromDC (wxDC* pDC); #endif public: - enum { // linestyles + enum { // linestyles LS_NOLINE = 0, LS_SOLID = 0xffff, LS_DASH1 = 0xff00, @@ -159,17 +163,17 @@ public: }; enum { // Codes for marker symbols - MARK_POINT = 0, // small dot - MARK_SQUARE = 1, // empty square - MARK_FSQUARE = 2, // filled square - MARK_DIAMOND = 3, // empty diamond - MARK_FDIAMOND = 4, // filled diamond - MARK_CROSS = 5, // cross - MARK_XCROSS = 6, // x - MARK_CIRCLE = 7, // open circle - MARK_FCIRCLE = 8, // filled circle - MARK_BSQUARE = 9, // big open square - MARK_BDIAMOND = 10, // big open diamond + MARKER_POINT = 0, // small dot + MARKER_SQUARE = 1, // empty square + MARKER_FSQUARE = 2, // filled square + MARKER_DIAMOND = 3, // empty diamond + MARKER_FDIAMOND = 4, // filled diamond + MARKER_CROSS = 5, // cross + MARKER_XCROSS = 6, // x + MARKER_CIRCLE = 7, // open circle + MARKER_FCIRCLE = 8, // filled circle + MARKER_BSQUARE = 9, // big open square + MARKER_BDIAMOND = 10, // big open diamond }; enum { MARK_COUNT = 11, }; static const unsigned char MARKER_BITMAP[MARK_COUNT][5]; @@ -205,7 +209,7 @@ public: void setTextAngle (double angle); void setTextColor (int iFGcolor, int iBGcolor); void setPenWidth (int width); - void setMarker (int idMarker, int color); + void setMarker (int idMarker); void setRasterOp (int ro); void getWindow (double& xmin, double& ymin, double& xmax, double& ymax); @@ -241,7 +245,7 @@ public: enum { - C_BLACK = 0, // color codes + C_BLACK = 0, // color codes C_BLUE = 1, C_GREEN = 2, C_CYAN = 3, @@ -279,14 +283,14 @@ enum RasterOp { }; -class RGBColor { +class SGP_RGBColor { private: short int r; short int g; short int b; public: - RGBColor (int r, int g, int b) + SGP_RGBColor (int r, int g, int b) : r(r), g(g), b(b) {}