⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicp.h

📁 wxGTK 是 wxWidgets 的 linux GTK+ (>2.2.3)版本。wxWidgets 是一个跨平台的 GUI 框架
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        basicp.h// Purpose:     Private OGL classes and definitions// Author:      Julian Smart// Modified by:// Created:     12/07/98// RCS-ID:      $Id: basicp.h,v 1.10 2006/04/18 08:29:13 ABX Exp $// Copyright:   (c) Julian Smart// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#ifndef _OGL_BASICP_H_#define _OGL_BASICP_H_#define CONTROL_POINT_SIZE       6class WXDLLIMPEXP_OGL wxShapeTextLine: public wxObject{ DECLARE_DYNAMIC_CLASS(wxShapeTextLine)public:   wxShapeTextLine(double the_x = 0.0, double the_y = 0.0, const wxString& the_line = wxEmptyString);   ~wxShapeTextLine();   inline double GetX() const { return m_x; }   inline double GetY() const { return m_y; }   inline void SetX(double x) { m_x = x; }   inline void SetY(double y) { m_y = y; }   inline void SetText(const wxString& text) { m_line = text; }   inline wxString GetText() const { return m_line; }protected:   wxString     m_line;   double        m_x;   double        m_y;};class WXDLLIMPEXP_OGL wxShape;class WXDLLIMPEXP_OGL wxControlPoint: public wxRectangleShape{ DECLARE_DYNAMIC_CLASS(wxControlPoint) friend class WXDLLIMPEXP_OGL wxShapeEvtHandler; friend class WXDLLIMPEXP_OGL wxShape; public:  wxControlPoint(wxShapeCanvas *the_canvas = NULL, wxShape *object = NULL, double size = 0.0, double the_xoffset = 0.0,    double the_yoffset = 0.0, int the_type = 0);  ~wxControlPoint();  void OnDraw(wxDC& dc);  void OnErase(wxDC& dc);  void OnDrawContents(wxDC& dc);  void OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);  void OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);  void OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);  bool GetAttachmentPosition(int attachment, double *x, double *y,                                     int nth = 0, int no_arcs = 1, wxLineShape *line = NULL);  int GetNumberOfAttachments() const;  inline void SetEraseObject(bool er) { m_eraseObject = er; }public:  int             m_type;  double          m_xoffset;  double          m_yoffset;  wxShape*        m_shape;  const wxCursor* m_oldCursor;  bool            m_eraseObject; // If true, erases object before dragging handle./* * Store original top-left, bottom-right coordinates * in case we're doing non-vertical resizing. */  static double sm_controlPointDragStartX;  static double sm_controlPointDragStartY;  static double sm_controlPointDragStartWidth;  static double sm_controlPointDragStartHeight;  static double sm_controlPointDragEndWidth;  static double sm_controlPointDragEndHeight;  static double sm_controlPointDragPosX;  static double sm_controlPointDragPosY;};class WXDLLIMPEXP_OGL wxPolygonShape;class WXDLLIMPEXP_OGL wxPolygonControlPoint: public wxControlPoint{ DECLARE_DYNAMIC_CLASS(wxPolygonControlPoint)  friend class WXDLLIMPEXP_OGL wxPolygonShape; public:  wxPolygonControlPoint(wxShapeCanvas *the_canvas = NULL, wxShape *object = NULL, double size = 0.0, wxRealPoint *vertex = NULL,    double the_xoffset = 0.0, double the_yoffset = 0.0);  ~wxPolygonControlPoint();  void OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);  void OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);  void OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);  // Calculate what new size would be, at end of resize  virtual void CalculateNewSize(double x, double y);  // Get new size  inline wxRealPoint GetNewSize() const { return m_newSize; };public:  wxRealPoint*      m_polygonVertex;  wxRealPoint       m_originalSize;  double             m_originalDistance;  wxRealPoint       m_newSize;};/* * Object regions. * Every shape has one or more text regions with various * properties. Not all of a region's properties will be used * by a shape. * */class WXDLLIMPEXP_OGL wxShapeRegion: public wxObject{ DECLARE_DYNAMIC_CLASS(wxShapeRegion) public:  // Constructor  wxShapeRegion();  // Copy constructor  wxShapeRegion(wxShapeRegion& region);  // Destructor  ~wxShapeRegion();  // Accessors  inline void SetText(const wxString& s)    { m_regionText = s; }  void SetFont(wxFont *f);  void SetMinSize(double w, double h);  void SetSize(double w, double h);  void SetPosition(double x, double y);  void SetProportions(double x, double y);  void SetFormatMode(int mode);  inline void SetName(const wxString& s) { m_regionName = s; };  void SetColour(const wxString& col); // Text colour  inline wxString GetText() const { return m_regionText; }  inline wxFont *GetFont() const { return m_font; }  inline void GetMinSize(double *x, double *y) const { *x = m_minWidth; *y = m_minHeight; }  inline void GetProportion(double *x, double *y) const { *x = m_regionProportionX; *y = m_regionProportionY; }  inline void GetSize(double *x, double *y) const { *x = m_width; *y = m_height; }  inline void GetPosition(double *xp, double *yp) const { *xp = m_x; *yp = m_y; }  inline int GetFormatMode() const { return m_formatMode; }  inline wxString GetName() const { return m_regionName; }  inline wxString GetColour() const { return m_textColour; }  wxColour GetActualColourObject();  inline wxList& GetFormattedText() { return m_formattedText; }  inline wxString GetPenColour() const { return m_penColour; }  inline int GetPenStyle() const { return m_penStyle; }  inline void SetPenStyle(int style) { m_penStyle = style; m_actualPenObject = NULL; }  void SetPenColour(const wxString& col);  wxPen *GetActualPen();  inline double GetWidth() const { return m_width; }  inline double GetHeight() const { return m_height; }  void ClearText();public:  wxString              m_regionText;  wxList                m_formattedText;   // List of wxShapeTextLines  wxFont*               m_font;  double                 m_minHeight;        // If zero, hide region.  double                 m_minWidth;        // If zero, hide region.  double                 m_width;  double                 m_height;  double                 m_x;  double                 m_y;  double                 m_regionProportionX; // Proportion of total object size;                                             // -1.0 indicates equal proportion  double                 m_regionProportionY; // Proportion of total object size;                                             // -1.0 indicates equal proportion  int                   m_formatMode;        // FORMAT_CENTRE_HORIZ | FORMAT_CENTRE_VERT | FORMAT_NONE  wxString              m_regionName;  wxString              m_textColour;  wxColour              m_actualColourObject; // For speed purposes  // New members for specifying divided rectangle division colour/style 30/6/94  wxString              m_penColour;  int                   m_penStyle;  wxPen*                m_actualPenObject;};/* * User-defined attachment point */class WXDLLIMPEXP_OGL wxAttachmentPoint: public wxObject{ DECLARE_DYNAMIC_CLASS(wxAttachmentPoint)public:  inline wxAttachmentPoint()  {    m_id = 0; m_x = 0.0; m_y = 0.0;  }  inline wxAttachmentPoint(int id, double x, double y)  {    m_id = id; m_x = x; m_y = y;  }public:  int            m_id;           // Identifier  double         m_x;            // x offset from centre of object  double         m_y;            // y offset from centre of object};#endif  // _OGL_BASICP_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -