summaryrefslogtreecommitdiff
path: root/support/dktools/WxdkdrawFrame.h
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
committerNorbert Preining <norbert@preining.info>2020-10-12 03:04:00 +0000
commit0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 (patch)
tree416289fe1448873fd8ca33051f50ad85bffa8aaa /support/dktools/WxdkdrawFrame.h
parentfdb18507cd80dc17f5a5256153d34668b4f4e61c (diff)
CTAN sync 202010120303
Diffstat (limited to 'support/dktools/WxdkdrawFrame.h')
-rw-r--r--support/dktools/WxdkdrawFrame.h4200
1 files changed, 0 insertions, 4200 deletions
diff --git a/support/dktools/WxdkdrawFrame.h b/support/dktools/WxdkdrawFrame.h
deleted file mode 100644
index 70d0b0ce95..0000000000
--- a/support/dktools/WxdkdrawFrame.h
+++ /dev/null
@@ -1,4200 +0,0 @@
-/*
-Copyright (C) 2019-2020, Dirk Krause
-SPDX-License-Identifier: BSD-3-Clause
-*/
-
-/*
- WARNING: This file was generated by the dkct program (see
- http://dktools.sourceforge.net/ for details).
- Changes you make here will be lost if dkct is run again!
- You should modify the original source and run dkct on it.
- Original source: WxdkdrawFrame.wxc
-*/
-
-/** @file WxdkdrawFrame.h Header file for the WxdkdrawFrame module.
-*/
-
-#ifndef WXDKDRAWFRAME_H_INCLUDED
-/** Avoid multiple inclusions. */
-#define WXDKDRAWFRAME_H_INCLUDED 1
-
-
-#line 1149 "WxdkdrawFrame.wxc"
-
-#include "wxdkdraw.h"
-
-#ifndef DK4WXCOLOURVIEW_H_INCLUDED
-#include "Dk4WxColourView.h"
-#define DK4WXCOLOURVIEW_H_INCLUDED 1
-#endif
-
-
-
-#line 1159 "WxdkdrawFrame.wxc"
-/** The programs main window.
-*/
-class WxdkdrawFrame : public Dk4WxFrame
-{
- /* ----- start of control class ----- */
-
- /** The draw control.
- Defined as nested class to make both classes friend of each other.
- */
- class Control : public wxControl
- {
- /** Allow frame class full access to all members.
- */
- friend class WxdkdrawFrame;
-
- /** Class responds to events.
- */
-#if wxCHECK_VERSION(3,0,0)
- wxDECLARE_DYNAMIC_CLASS(Control);
-#else
- DECLARE_DYNAMIC_CLASS(Control)
-#endif
-
- private:
-
- /* control private members */
-
- /** This class uses an event table.
- */
-#if wxCHECK_VERSION(3,0,0)
- wxDECLARE_EVENT_TABLE();
-#else
- DECLARE_EVENT_TABLE()
-#endif
-
- protected:
-
- /* control protected members */
-
- /** Name of control, used in initialization.
- */
- static wxChar const ms_controlname[];
-
- /** Draw control size.
- Only available within OnPaint handler.
- */
- wxSize m_szDrawco;
-
- /** Screen resolution in dpi for x and y direction.
- */
- dk4_gra_point_t m_ptRes;
-
- /** Coefficients for coordinate transformations.
- Only available within OnPaint handler.
- */
- dk4_gra_point_t m_ptM;
-
- /** Coefficients for coordinate transformations.
- Only available within OnPaint handler.
- */
- dk4_gra_point_t m_ptN;
-
- /** Parent frame, containing pointer to the drawing.
- */
- WxdkdrawFrame *m_pParent;
-
- /** Bitmap 1 contains border, viewport and grid.
- */
- wxBitmap *m_pB1;
-
- /** Bitmap 2 contains the graphics elements on top of bitmap 1.
- */
- wxBitmap *m_pB2;
-
- /** Bitmap 3 contains the markup on top of bitmap 2.
- */
- wxBitmap *m_pB3;
-
- /** Zoom factor, depends on zoom level.
- */
- double m_dZoom;
-
- /** Optical grid distance.
- */
- uint32_t m_uGridOptical;
-
- /** Snap grid distance.
- */
- uint32_t m_uGridSnap;
-
- /** Control is allowed to allocate bitmaps.
- */
- bool m_bCanAllocate;
-
- public:
-
- /* control public methods */
-
- /** Default constructor.
- Here for completeness
- */
- Control();
-
- /** Constructor
- */
- Control(
- wxWindow *pParent,
- wxWindowID wxid,
- WxdkdrawFrame *pFrame,
- wxPoint const & pos = wxDefaultPosition,
- wxSize const & sz = wxDefaultSize,
- long st = wxBORDER_NONE,
- wxChar const *name = ms_controlname
- );
-
- /** Create control.
- This method is here for completeness, it is not used
- by the wxdkdraw program.
- @param pParent Parent frame.
- @param wxid Window ID.
- @param pFrame Parent frame.
- @param pos Position.
- @param sz Size.
- @param st Control style.
- @param name Control name.
- */
- bool
- Create(
- wxWindow *pParent,
- wxWindowID wxid,
- WxdkdrawFrame *pFrame,
- wxPoint const & pos = wxDefaultPosition,
- wxSize const & sz = wxDefaultSize,
- long st = wxBORDER_NONE,
- wxChar const *name = ms_controlname
- );
-
- /** Destructor.
- */
- ~Control();
-
- /** Prepare control for destruction.
- Release bitmaps and avoid re-allocation.
- */
- void
- PrepareForDestruction(void);
-
- /** Handler for erase event.
- @param event Event to handle.
- */
- void
- OnErase(wxEraseEvent & event);
-
- /** Handler for paint event.
- @param event Event to handle.
- */
- void
- OnPaint(wxPaintEvent & event);
-
- /** Handler for resize event.
- @param event Event to handle.
- */
- void
- OnSize(wxSizeEvent & event);
-
- /** Handler for mouse enter event.
- @param event Event to handle.
- */
- void
- OnMouseEnter(wxMouseEvent & event);
-
- /** Handler for mouse leave event.
- @param event Event to handle.
- */
- void
- OnMouseLeave(wxMouseEvent & event);
-
- /** Handler for mouse motion event.
- @param event Event to handle.
- */
- void
- OnMouseMove(wxMouseEvent & event);
-
- /** Handler for left mouse button event.
- @param event Event to handle.
- */
- void
- OnLeftMouseButtonDown(wxMouseEvent & event);
-
- /** Handler for right mouse button event.
- @param event Event to handle.
- */
- void
- OnRightMouseButtonDown(wxMouseEvent & event);
-
- /** Handler for middle mouse button event.
- @param event Event to handle.
- */
- void
- OnMiddleMouseButtonDown(wxMouseEvent & event);
-
- /** Handler for mouse wheel event.
- @param event Event to handle.
- */
- void
- OnMouseWheel(wxMouseEvent & event);
-
- protected:
-
- /** Check for completed initialization.
- @return True if ready to handle events, false otherwise.
- */
- bool
- CanHandleEvents(void);
-
- /** Fill entire control using border colour.
- @param dc Drawing context.
- */
- void
- PaintOperation0(wxDC & dc);
-
- /** Draw background for drawing canvas.
- @param gc Graphics context to use.
- */
- void
- PaintOperationCanvas(
- wxGraphicsContext *gc
- );
-
- /** Draw grid in a calculated bounding box.
- @param gc Graphics context to use.
- @param g_end Bounding box data for grid.
- */
- void
- PaintOperationBoundingBoxGrid(
- wxGraphicsContext *gc,
- Wxd_bb_t const & g_end
- );
-
- /** Draw grid.
- @param gc Graphics context to use.
- */
- void
- PaintOperationGrid(
- wxGraphicsContext *gc
- );
-
- /** Decide whether or not to use placement help in current state.
- @return True to show placement help, false otherwise.
- */
- bool
- StateUsesPlacementHelp(void);
-
- /** Draw border, drawable area and grid.
- @param gc Graphics context to use.
- */
- void
- PaintOperation1(wxGraphicsContext *gc);
-
- /** Draw drawing objects.
- @param gc Graphics context to use.
- @param event Event to process.
- */
- void
- PaintOperation2(wxGraphicsContext *gc);
-
- /** Draw markup on top of drawing.
- @param gc Graphics context to use.
- @param event Event to process.
- */
- void
- PaintOperation3(wxGraphicsContext *gc);
-
- /** Calculate zoom factor and grid distances after zooming in
- or out or after changing graphics.
- */
- void
- CalculateZoomFactor(void);
-
- /** Calculate grid distances after changing grid settings.
- */
- void
- CalculateGridDistances(void);
-
- /** Calculate conversion coefficients.
- */
- void
- CalculateConversionCoefficients(void);
-
- /** Convert x distance from wxd to pixels.
- @param d Distance to convert.
- @return Conversion result.
- */
- double
- ConvDist(double d);
-
- /** Convert x distance from wxd to pixels.
- @param d Distance to convert.
- @return Conversion result.
- */
- double
- ConvDist(int32_t d);
-
- /** Convert x coordinate from wxd to pixels.
- @param x X coordinate value in wxd.
- @return X coordinate value in pixels.
- */
- double
- ConvX(double x);
-
- /** Convert x coordinate from wxd to pixels.
- @param x X coordinate value in wxd.
- @return X coordinate value in pixels.
- */
- double
- ConvX(int32_t x);
-
- /** Convert y coordinate from wxd to pixels.
- @param y Y coordinate value in wxd.
- @return Y coordinate value in pixels.
- */
- double
- ConvY(double y);
-
- /** Convert y coordinate from wxd to pixels.
- @param y Y coordinate value in wxd.
- @return Y coordinate value in pixels.
- */
- double
- ConvY(int32_t y);
-
- /** Convert x coordinate back from pixels to wxd.
- @param x X coordinate in pixels.
- @return X coordinate in wxd.
- */
- double
- InvX(double x);
-
- /** Convert y coordinate back from pixels to wxd.
- @param y Y coordinate in pixels.
- @return Y coordinate in wxd.
- */
- double
- InvY(double y);
-
- /** Convert x coordinate back from pixels to wxd.
- @param x X coordinate in pixels.
- @param ok Success flag to reset on error.
- @return Backward conversion value on success, 0L on error.
- */
- int32_t
- InvX(double x, bool & ok);
-
- /** Convert y coordinate back from pixels to wxd.
- @param y Y coordinate in pixels.
- @param ok Success flag to reset on error.
- @return Backward conversion value on success, 0L on error.
- */
- int32_t
- InvY(double y, bool & ok);
-
-#if 0
-
- /** Convert x coordinate back from pixels to wxd.
- @param dptr Address of result variable.
- @param x X coordinate in pixels.
- @return True on success, false on error (x out of range).
- */
- bool
- InvX(int32_t *dptr, double x);
-
- /** Convert y coordinate back from pixels to wxd.
- @param dptr Address of result variable.
- @param y Y coordinate in pixels.
- @return True on success, false on error (y out of range).
- */
- bool
- InvY(int32_t *dptr, double y);
-
- /** Convert x coordinate back from pixels to wxd.
- @param dptr Address of result variable.
- @param x X coordinate in pixels.
- @return True on success, false on error (x out of range).
- */
- bool
- InvX(int32_t *dptr, int x);
-
- /** Convert y coordinate back from pixels to wxd.
- @param dptr Address of result variable.
- @param y Y coordinate in pixels.
- @return True on success, false on error (y out of range).
- */
- bool
- InvY(int32_t *dptr, int y);
-
-#endif
-
-
- /** Round grid coordinate downward.
- @param x Original coordinate.
- @param gr Grid distance.
- @param ok Success variable to reset on numerical errors.
- @param fo Force downward rounding.
- @return Result.
- */
- int32_t
- GridRoundDown(
- int32_t x,
- uint32_t gr,
- bool & ok,
- bool fo = false
- );
-
- /** Round grid coordinate upward.
- @param x Original coordinate.
- @param gr Grid distance.
- @param ok Success variable to reset on numerical errors.
- @param fo Force upward rounding.
- @return Result.
- */
- int32_t
- GridRoundUp(
- int32_t x,
- uint32_t gr,
- bool & ok,
- bool fo = false
- );
-
- /** Round grid coordinate to nearest grid point.
- @param x Original coordinate.
- @param gr Grid distance.
- @param ok Success variable to reset on numerical errors.
- @return Result.
- */
- int32_t
- GridRoundNearest(int32_t x, uint32_t gr, bool & ok);
-
- /** Check whether object contains all required data for drawing.
- @param pobj Object to check.
- @return True to draw the object, false to skip object.
- */
- bool
- CanDrawElement(Wxd_object_t const *pobj);
-
- /** Check whether to draw an object in normal drawing pass.
- @param pobj Object to check.
- @return True to draw the object, false to skip drawing.
- */
- bool
- MustDrawElementInNormalPass(Wxd_object_t const *pobj);
-
- /** Check whether to draw an object in markup pass.
- @param pobj Object to check.
- @return True to draw the object, false to skip drawing.
- */
- bool
- MustDrawElementInMarkupPass(Wxd_object_t const *pobj);
-
- /** Check whether to highlight an object in markup pass.
- @param pobj Object to check.
- @return True to draw the object, false to skip drawing.
- */
- bool
- MustHighlightElementInMarkupPass(Wxd_object_t const *pobj);
-
- /** Check whether to highlight an object in markup pass.
- @param pobj Object to check.
- @return True to draw the object, false to skip drawing.
- */
- bool
- MustHighlight2ElementInMarkupPass(Wxd_object_t const *pobj);
-
- /** Check whether there are objects under construction in
- current state.
- @return True for states with objects under construction.
- */
- bool
- StateHasObjectsUnderModification(void);
-
- /** Check whether there are objects to highlight in current state.
- @return True for states with objects under construction.
- */
- bool
- StateHasObjectsToHighlight(void);
-
- /** Check whether there are objects to highlight in current state.
- @return True for states with objects under construction.
- */
- bool
- StateHasObjectsToHighlight2(void);
-
- /** Choose stroke colour, either the objects stroke colour
- or a colour for markup.
- @param sc Destination array for colour components.
- @param pObj Object to draw.
- @param iMarkup Markup type to use.
- */
- void
- ChooseStrokeColour(int *sc, Wxd_object_t const *pObj, int iMarkup);
-
- /** Draw one graphics object to graphics context.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- DrawElement(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Draw one text object to graphics context.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- DrawTextElement(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Create path for polyline or polygon.
- @param p Path to construct.
- @param pObj Object.
- @param pShift Vector to shift object.
- */
- void
- PathPolyline(
- wxGraphicsPath & p,
- Wxd_object_t const *pObj,
- Wxd_point_t const *pShift
- );
-
- /** Create path for one X-spline segment consisting
- of multiple sub-segments.
- @param p Graphics path to modify.
- @param pt Spline points array.
- @param xsp X-spline data.
- @param segno Number of current segment.
- @param subsegs Number of sub-segments to produce.
- @param divisor Divisor for derivative values.
- @param shiftx X shift value.
- @param shifty Y shift value.
- @param ib Index of point B in pt.
- @param ic Index of point C in pt.
- */
- void
- SplineSegment(
- wxGraphicsPath & p,
- Wxd_spline_point_t *pt,
- dk4_xsp_2d_t *xsp,
- uint16_t segno,
- size_t subsegs,
- double divisor,
- double shiftx,
- double shifty,
- uint16_t ib,
- uint16_t ic
- );
-
- /** Create path for spline.
- @param p Path to construct.
- @param pObj Object.
- @param pShift Vector to shift object.
- */
- void
- PathSpline(
- wxGraphicsPath & p,
- Wxd_object_t const *pObj,
- Wxd_point_t const *pShift
- );
-
- /** Create path for arc.
- @param p Path to construct.
- @param pObj Object.
- @param pShift Vector to shift object.
- */
- void
- PathArc(
- wxGraphicsPath & p,
- Wxd_object_t const *pObj,
- Wxd_point_t const *pShift
- );
-
- /** Create path for circle.
- @param p Path to construct.
- @param pObj Object.
- @param pShift Vector to shift object.
- */
- void
- PathCircle(
- wxGraphicsPath & p,
- Wxd_object_t const *pObj,
- Wxd_point_t const *pShift
- );
-
- /** Create path for ellipse.
- @param p Path to construct.
- @param pObj Object.
- @param pShift Vector to shift object.
- */
- void
- PathEllipse(
- wxGraphicsPath & p,
- Wxd_object_t const *pObj,
- Wxd_point_t const *pShift
- );
-
- /** Create path for box.
- @param p Path to construct.
- @param pObj Object.
- @param pShift Vector to shift object.
- */
- void
- PathBox(
- wxGraphicsPath & p,
- Wxd_object_t const *pObj,
- Wxd_point_t const *pShift
- );
-
- /** Mark up one polyline object.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- MarkupPolyline(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Mark up one spline object.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- MarkupSpline(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Mark up one arc object.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- MarkupArc(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Mark up one circle object.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- MarkupCircle(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Mark up one ellipse object.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- MarkupEllipse(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Mark up one box object.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- MarkupBoundingBox(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- Wxd_bb_t const *pbb,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Mark up one box object.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- MarkupBox(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Draw one open path graphics object to graphics context.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- DrawOpenPathElement(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Draw one closed path graphics object to graphics context.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- DrawClosedPathElement(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Draw one image creation region to graphics context.
- @param gc Graphics context.
- */
- void
- DrawImageRegion(
- wxGraphicsContext *gc
- );
-
- /** Draw one image object to graphics context.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- DrawImageElement(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Draw one dot object to graphics context.
- @param gc Graphics context.
- @param pObj Object to draw.
- @param iMarkup Markup to apply.
- @param pShift Optional shift vector.
- */
- void
- DrawDotElement(
- wxGraphicsContext *gc,
- Wxd_object_t const *pObj,
- int iMarkup,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Set up pen attributes for object.
- @param pen Pen to modify.
- @param pObj Object to draw.
- @param pDash Address of dash lengths array.
- @param pNdash Address of variable for number of elements.
- */
- void
- SetupPenForObject(
- wxPen & pen,
- Wxd_object_t const *pObj,
- wxDash *pDash,
- int *pNdash
- );
-
- /** Calculate point radius for markup point.
- @param lw Line width of object to markup, may be 0.
- @return Markup radius to use.
- */
- double
- MarkupPointRadius(uint16_t lw);
-
- /** Draw a markup point.
- @param gc Grahics context to draw to.
- @param sc Stroke colour.
- @param x X position of point.
- @param y Y position of point.
- @param lw Line width of object markup point belongs to.
- @param pShift Shift vector, may be NULL.
- */
- void
- DrawMarkupPoint(
- wxGraphicsContext *gc,
- int const *sc,
- double x,
- double y,
- uint16_t lw,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Draw a markup point.
- @param gc Grahics context to draw to.
- @param sc Stroke colour.
- @param x X position of point.
- @param y Y position of point.
- @param lw Line width of object markup point belongs to.
- @param pShift Shift vector, may be NULL.
- */
- void
- DrawMarkupPoint(
- wxGraphicsContext *gc,
- int const *sc,
- int32_t x,
- int32_t y,
- uint16_t lw,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Calculate vertices for arrowhead.
- @param pt Address of result array.
- @param pDrw Drawing.
- @param pObj Object to add arrowheads to.
- @param xpos X position of arrow end.
- @param ypos Y position of arrow end.
- @param rot Arrow rotation.
- @param atype Arrow type.
- @param alength Arrow length.
- @param awidth Arrow width.
- */
- void
- ArrowVertices(
- dk4_gra_point_t *pt,
- Wxd_drawing_t const *pDrw,
- Wxd_object_t const *pObj,
- double xpos,
- double ypos,
- double rot,
- uint8_t atype,
- uint8_t alength,
- uint8_t awidth
- );
-
- /** Draw one arrowhead.
- @param gc Grahpics context to use for drawing.
- @param pDrw Drawing.
- @param pObj Object to add arrowhead to.
- @param sc Stroke colour.
- @param xpos X position of arrowhead end.
- @param ypos Y position of arrowhead end.
- @param rot Arrowhead rotation.
- @param atype Arrowhead type.
- @param alength Arrowhead length.
- @param awidth Arrowhead width.
- */
- void
- DrawOneArrowhead(
- wxGraphicsContext *gc,
- Wxd_drawing_t const *pDrw,
- Wxd_object_t const *pObj,
- int const *sc,
- double xpos,
- double ypos,
- double rot,
- uint8_t atype,
- uint8_t alength,
- uint8_t awidth
- );
-
- /** Add arrowheads to object.
- @param gc Graphics context to use for drawing.
- @param pDrw Drawing.
- @param pObj Object to add arrows to.
- @param sc Stroke colour.
- @param pShift Shift vector.
- */
- void
- AddArrowheads(
- wxGraphicsContext *gc,
- Wxd_drawing_t const *pDrw,
- Wxd_object_t const *pObj,
- int const *sc,
- Wxd_point_t const *pShift = NULL
- );
-
- /** Calculate line width in pixels for object.
- @param pDrw Drawing.
- @param pObj Object.
- @return Line width to use on screen.
- */
- int
- LineWidthForObject(
- Wxd_drawing_t const *pDrw,
- Wxd_object_t const *pObj,
- int iMarkup = WXD_MARKUP_NONE
- );
-
- /** Highlight the point to move.
- @param gc Graphics context to draw to.
- @param pobj Object to highlight.
- @param pno Point number.
- */
- void
- HighlightPointToMove(
- wxGraphicsContext *gc,
- Wxd_object_t const *pobj,
- uint16_t pno
- );
-
- /** Highlight the point to delete.
- @param gc Graphics context to draw to.
- @param pobj Object to highlight.
- @param pno Point number.
- */
- void
- HighlightPointToDelete(
- wxGraphicsContext *gc,
- Wxd_object_t const *pobj,
- uint16_t pno
- );
-
- /** Highlight the point to delete.
- @param gc Graphics context to draw to.
- @param pobj Object to highlight.
- @param pno Point number.
- @param bAppend New point must be appended after pno.
- */
- void
- HighlightPointToAdd(
- wxGraphicsContext *gc,
- Wxd_object_t const *pobj,
- uint16_t pno,
- bool bAppend
- );
-
- /** Highlight one point of the element for style changes.
- @param gc Graphics context to use.
- @param x X position (in WXD coordinates).
- @param y Y position (in WXD coordinates).
- @param r Radius (half square length).
- @param sc Colour components.
- */
- void
- HighlightStylePoint(
- wxGraphicsContext *gc,
- double x,
- double y,
- double r,
- int const *sc
- );
-
- /** Highlight one point of the element for style changes.
- @param gc Graphics context to use.
- @param x X position (in WXD coordinates).
- @param y Y position (in WXD coordinates).
- @param r Radius (half square length).
- @param sc Colour components.
- */
- void
- HighlightStylePoint(
- wxGraphicsContext *gc,
- int32_t x,
- int32_t y,
- double r,
- int const *sc
- );
-
- /** Highlight the element for style changes.
- @param gc Graphics context to use.
- @param pobj Object to highlight.
- */
- void
- HighlightStyleElement(
- wxGraphicsContext *gc,
- Wxd_object_t const *pobj
- );
-
- /** Retrieve point coordinates from a bounding box.
- @param x Result variable for x coordinate.
- @param y Result variable for y coordinate.
- @param pbb Bounding box (box or image).
- @param pno Point number.
- */
- void
- GetPointFromBox(
- double & x,
- double & y,
- Wxd_bb_t const *pbb,
- uint16_t pno
- );
-
- /** Highlight the point to move.
- @param gc Graphics context to draw to.
- @param pobj Object to highlight.
- @param pno Point number.
- @param ci Color index for highlighting.
- */
- void
- HighlightPointForOperation(
- wxGraphicsContext *gc,
- Wxd_object_t const *pobj,
- uint16_t pno,
- int ci
- );
-
- /** Highlight line from mouse position to control point.
- @param gc Graphics context to draw to.
- @param pobj Object to highlight.
- @param pno Point number.
- @param ci Color index for highlighting.
- */
- void
- HighlightLineToPoint(
- wxGraphicsContext *gc,
- Wxd_object_t const *pobj,
- uint16_t pno,
- int ci
- );
-
- };
-
- /* ----- End of control class ----- */
-
- /** The control has full access to all members of the frame class.
- */
- friend class Control;
-
- public:
-
- /** IDs for menu items, buttons and other elements.
- */
- enum {
- ID_FRAME = ((wxID_HIGHEST) + 1) , /**< Main window. */
- ID_HELP_ABOUT , /**< Show version dialog box. */
- ID_HELP_CONTENTS , /**< Open online help table of contents. */
- ID_ADD_POLYINE , /**< Add polyline. */
- ID_ADD_POLYGON , /**< Add polygon. */
- ID_ADD_RECT , /**< Add rectangle. */
- ID_ADD_BOX , /**< Add box (rounded corner rectangle). */
- ID_ADD_CIRCLE , /**< Add circle. */
- ID_ADD_ELLIPSE , /**< Add ellipse. */
- ID_ADD_ARC_O , /**< Add open arc. */
- ID_ADD_ARC_C , /**< Add closed arc. */
- ID_ADD_SPL_AO , /**< Add open approximated spline. */
- ID_ADD_SPL_AC , /**< Add closed approximated spline. */
- ID_ADD_SPL_IO , /**< Add open interpolated spline. */
- ID_ADD_SPL_IC , /**< Add closed interpolated spline. */
- ID_ADD_DOT_C , /**< Add colour filled dot. */
- ID_ADD_DOT_W , /**< Add white filled dot. */
- ID_ADD_TEXT , /**< Add text label. */
- ID_ADD_IMG , /**< Add image. */
- ID_ADD_LIBELEM , /**< Add library element. */
- ID_EDIT_COPY , /**< Copy object. */
- ID_EDIT_MOVE , /**< Move object. */
- ID_EDIT_DEL , /**< Delete object. */
- ID_EDIT_PT_MOVE , /**< Move point. */
- ID_EDIT_PT_ADD , /**< Add point. */
- ID_EDIT_PT_DEL , /**< Delete point. */
- ID_EDIT_DET , /**< Edit details. */
- ID_EDIT_GRP1 , /**< Group objects (elements one by one). */
-#if 0
- ID_EDIT_GRP12 , /**< Group objects (touching rectangle). */
-#endif
- ID_EDIT_GRP13 , /**< Group objects (including rectangle). */
- ID_EDIT_UNGRP , /**< Ungroup objects. */
- ID_EDIT_FLIPH , /**< Flip ojects horizontally. */
- ID_EDIT_FLIPV , /**< Flip objects vertically. */
- ID_EDIT_ROTLEFT , /**< Rotate 90 degree to left. */
- ID_EDIT_ROTRIGHT , /**< Rotate 90 degree to right. */
- ID_EDIT_DRSZ , /**< Change drawing size. */
- ID_LAYERS_ALL , /**< Activate all layers. */
- ID_LAYERS_MGR , /**< Run layer manager. */
- ID_ZOOM_CENTER , /**< Center view. */
- ID_GRID_ON_OFF , /**< Activate or deactivate grid. */
- ID_GRID_UNIT , /**< Grid unit changed. */
- ID_GRID_BASE , /**< Grid base changed. */
- ID_PLACEMENT , /**< Placement help changed. */
-#if 0
- ID_SELECT_OBJ, /**< Select object to change style .*/
-#endif
- ID_STYLE_LAYER , /**< Layer spin control. */
- ID_STYLE_LINE_COL , /**< Line colour button. */
- ID_STYLE_LINE_WIDTH , /**< Line width spin control. */
- ID_STYLE_LINE_STYLE , /**< Line style button. */
- ID_STYLE_LINE_CAP , /**< Line cap button. */
- ID_STYLE_LINE_JOIN , /**< Line joint button. */
- ID_STYLE_ARROW_F , /**< Arrowhead forward button. */
- ID_STYLE_ARROW_B , /**< Arrowhead backward button. */
- ID_STYLE_FILL_COL , /**< Fill colour button. */
- ID_STYLE_FILL_PATT , /**< Fill pattern button. */
- ID_STYLE_TEXT_LATEX , /**< LaTeX special text checkbox. */
- ID_STYLE_TEXT_ALIGN , /**< Text align button. */
- ID_STYLE_TEXT_FONT , /**< Text font button. */
- ID_STYLE_TEXT_SIZE , /**< Text size spin control. */
- ID_SCROLL_H , /**< Horizontal scrollbar. */
- ID_SCROLL_V , /**< Vertical scrollbar. */
- ID_CB_POINT_MOVE_MODE , /**< Checkbox for point move mode. */
- ID_SPIN_ROTATION , /**< Spin control for rotation. */
- ID_EDIT_CONVERT_1 , /**< Convert to polygon. */
- ID_EDIT_CONVERT_2 , /**< Convert to polyline. */
- ID_EDIT_CONVERT_3 , /**< Convert to open interpolated spline. */
- ID_EDIT_CONVERT_4 , /**< Convert to closed arc. */
- ID_EDIT_CONVERT_5 , /**< Convert to open arc. */
- ID_EDIT_CONVERT_6 , /**< Convert to closed approximated spl. */
- ID_EDIT_CONVERT_7 , /**< Convert to open approximated spline. */
- ID_EDIT_CONVERT_8 , /**< Convert to white filled dot. */
- ID_EDIT_CONVERT_9 , /**< Convert to simple dot. */
- ID_EDIT_CONVERT_A , /**< Convert to closed interpolated spl. */
- ID_RESET_OPTIONS , /**< Reset options to default values. */
- ID_COL_MOD_BORDER , /**< Modify border colour. */
- ID_COL_RES_BORDER , /**< Reset border colour. */
- ID_COL_MOD_BACKGROUND , /**< Modify background colour. */
- ID_COL_RES_BACKGROUND , /**< Reset background colour. */
- ID_COL_MOD_GRID , /**< Modify grid colour. */
- ID_COL_RES_GRID , /**< Reset grid colour. */
- ID_COL_MOD_PH , /**< Modify placement help colour. */
- ID_COL_RES_PH , /**< Reset placement help colour. */
- ID_COL_MOD_COPY , /**< Modify copy operation colour. */
- ID_COL_RES_COPY , /**< Reset copy operation colour. */
- ID_COL_MOD_MOVE , /**< Modify move operation colour. */
- ID_COL_RES_MOVE , /**< Reset move operation colour. */
- ID_COL_MOD_DELETE , /**< Modify delete operation colour. */
- ID_COL_RES_DELETE , /**< Reset delete operation colour. */
- ID_COL_MOD_GROUP , /**< Modify group candidates colour. */
- ID_COL_RES_GROUP , /**< Reset group candidates colour. */
- ID_COL_MOD_MISSING , /**< Modify missing image colour. */
- ID_COL_RES_MISSING , /**< Reset missing image colour. */
- ID_MOD_SPLINE , /**< Modify spline s value. */
- ID_OPT_NEW_OBJECTS , /**< Options for new objects. */
- ID_OPT_SCREEN , /**< Options for screen representation. */
- };
-
- /** Zoom level range.
- */
- enum {
- ZOOM_LEVEL_MIN = -14 , /**< Minimum zoom level. */
- ZOOM_LEVEL_MAX = 14 /**< Maximum zoom level. */
- };
-
- /* IMPORTANT: Number and order of entries (except IVI_MAX) must match
- the number and order of entries in the default_values and
- iv_keys arrays in the WxdkdrawFrameTools module!
- */
- /** Names for indices into the m_iv array.
- */
- enum {
- IVI_BORDER_RED = 0 , /**< Border colour red component. */
- IVI_BORDER_GREEN , /**< Border colour green component. */
- IVI_BORDER_BLUE , /**< Border colour blue component. */
- IVI_BG_RED , /**< Background colour red. */
- IVI_BG_GREEN , /**< Background colour green. */
- IVI_BG_BLUE , /**< Background colour blue. */
- IVI_GRID_RED , /**< Grid colour red. */
- IVI_GRID_GREEN , /**< Grid colour green. */
- IVI_GRID_BLUE , /**< Grid colour blue. */
- IVI_PH_RED , /**< Placement help colour red. */
- IVI_PH_GREEN , /**< Placement help colour green. */
- IVI_PH_BLUE , /**< Placement help colour blue. */
- IVI_M_COPY_RED , /**< Copy markup colour red. */
- IVI_M_COPY_GREEN , /**< Copy markup colour green. */
- IVI_M_COPY_BLUE , /**< Copy markup colour blue. */
- IVI_M_MOVE_RED , /**< Move markup colour red. */
- IVI_M_MOVE_GREEN , /**< Move markup colour green. */
- IVI_M_MOVE_BLUE , /**< Move markup colour blue. */
- IVI_M_DEL_RED , /**< Delete markup colour red. */
- IVI_M_DEL_GREEN , /**< Delete markup colour green. */
- IVI_M_DEL_BLUE , /**< Delete markup colour blue. */
- IVI_M_GROUP_RED , /**< Group markup colour red. */
- IVI_M_GROUP_GREEN , /**< Group markup colour green. */
- IVI_M_GROUP_BLUE , /**< Group markup colour blue. */
- IVI_MISSIMG_RED , /**< Missing image border red. */
- IVI_MISSIMG_GREEN , /**< Missing image border green. */
- IVI_MISSIMG_BLUE , /**< Missing image border blue. */
- IVI_XS_SUBSEGS , /**< X-spline sub segments. */
- IVI_FONT_EXACT , /**< Flag: Use exact fonts. */
- IVI_DOT_DIAMETER_FILLED , /**< Diameter filled dots. */
- IVI_DOT_DIAMETER_WHITE , /**< Diameter white filled dots. */
- IVI_ARROWHEAD_LENGTH , /**< Default arrowhead length. */
- IVI_ARROWHEAD_WIDTH , /**< Default arrowhead width. */
- IVI_STYLE_VALUE , /**< Default style value. */
- IVI_MITER_LIMIT , /**< Miter limit. */
- IVI_REDUCE_MARKUP_POINTS , /**< Reduce markup point radius. */
- IVI_D_LAYER , /**< Default layer for new objects. */
- IVI_D_LINE_COL_RED , /**< Default line colour red comp. */
- IVI_D_LINE_COL_GREEN , /**< Default line colour green comp. */
- IVI_D_LINE_COL_BLUE , /**< Default line colour blue comp. */
- IVI_D_LINEWIDTH , /**< Default line width. */
- IVI_D_LINESTYLE , /**< Default line style. */
- IVI_D_STYLE_VALUE , /**< Default style value. */
- IVI_D_JOIN_STYLE , /**< Default line join style. */
- IVI_D_MITER_LIMIT , /**< Default miter limit. */
- IVI_D_CAP_STYLE , /**< Default line cap style. */
- IVI_D_AHF_TYPE , /**< Default arrowhead forward type. */
- IVI_D_AHF_LENGTH , /**< Default arrowhead forward lgt. */
- IVI_D_AHF_WIDTH , /**< Default arrowhead forward width. */
- IVI_D_AHB_TYPE , /**< Default arrowhead backward type. */
- IVI_D_AHB_LENGTH , /**< Default arrowhead backward lgt. */
- IVI_D_AHB_WIDTH , /**< Default arrowhead backward wdth. */
- IVI_D_FILL_COL_RED , /**< Default fill colour red comp. */
- IVI_D_FILL_COL_GREEN , /**< Default fill colour green comp. */
- IVI_D_FILL_COL_BLUE , /**< Default fill colour blue comp. */
- IVI_D_FILL_STYLE , /**< Default fill style. */
- IVI_D_TEXT_LATEX , /**< Default LaTeX option for text. */
- IVI_D_TEXT_ALIGN , /**< Default text align. */
- IVI_D_TEXT_FONT , /**< Default text font. */
- IVI_D_TEXT_SIZE , /**< Default text size. */
- IVI_C_GRID , /**< Enable or disable grid. */
- IVI_C_PH , /**< Enable or disable place help. */
- IVI_C_COR_POSITION , /**< Correct position after zoom out. */
- IVI_MAX /**< Number of indices in the list. */
- };
- /* IMPORTANT: Number and order of entries (except IVI_MAX) must match
- the number and order of entries in the default_values and
- iv_keys arrays in the WxdkdrawFrameTools module!
- */
-
- private:
-
- /* Frame private members */
-
- /** Event table for frame.
- */
-#if wxCHECK_VERSION(3,0,0)
- wxDECLARE_EVENT_TABLE();
-#else
- DECLARE_EVENT_TABLE()
-#endif
-
- protected:
-
- /* frame protected members */
-
- /** Drawing object containing default style information.
- */
- Wxd_object_t m_oStyle;
-
- /** Border object to show drawing size.
- */
- Wxd_object_t m_oBorder;
-
- /** Status structure to read WXD file.
- */
- wxdrd_status_t m_oStatusReader;
-
- /** Status structure to write WXD file.
- */
- wxdwr_status_t m_oStatusWriter;
-
- /** Integer values for different purposes, configurable.
- */
- int m_iv[IVI_MAX];
-
- /** Coefficients used to create stipple bitmaps,
- recalculated on zoom level changes or file reload.
- 0: Length equivalent for 3.6 / sqrt(3)
- 1: Length equivalent for 7.2
- 2: Length equivalent for 3.6 * sqrt(2)
- 3: Length equivalent for 14.4
- 4: Length equivalent for 3.6
- 5: Length equivalent for 21.6
- 6: Length equivalent for 14.54 (width of large fish scale)
- 7: Length equivalent for 3.7 (height of large fish scale)
- 8: Length equivalent for 14.4 * sqrt(3)
- 9: X difference at start of large fish scale
- 10: Y difference at start of large fish scale
- 11: X difference at end of large fish scale
- 12: Y difference at end of large fish scale
- 13: X difference at start of small fish scale
- 14: Y difference at start of small fish scale
- 15: X difference at end of small fish scale
- 16: Y difference at end of small fish scale
- 17...19 unused
- */
- double m_dPatterns[20];
-
- /** Constant factors calculated once in the constructor.
- 0: sqrt(3)
- 1: dx/dt at 0 factor for large fish scales
- 2: dy/dt at 0 factor for large fish scales
- 3: dx/dt at 1 factor for large fish scales
- 4: dy/dt at 1 factor for large fish scales
- 5: dx/dt at 0 factor for small fish scales
- 6: dy/dt at 0 factor for small fish scales
- 7: dx/dt at 1 factor for small fish scales
- 8: dy/dt at 1 factor for small fish scales
- 9...15 unused
- */
- double m_dFactors[16];
-
- /** Error report used in event processing.
- */
- dk4_er_t m_oErrorReport;
-
- /** Protect m_bIsFirstIdle against multiple access.
- */
- wxCriticalSection csIsFirstIdle;
-
- /** Original ellipse/circle data before moving a point.
- */
- Wxd_det_ellipse_t m_ellPointMoveOri;
-
- /** Full path name.
- */
- wxString m_sFileFull;
-
- /** Short file name without leading directory.
- */
- wxString m_sFileShort;
-
- /** Directory file resides in.
- */
- wxString m_sFileDir;
-
- /** Directory previous embedded image was taken from.
- */
- wxString m_sImageDir;
-
- /** Directory previous library element was taken from.
- */
- wxString m_sLibraryDir;
-
- /** Short name of previous library element.
- */
- wxString m_sLibraryShort;
-
- /** Original drawing size.
- */
- Wxd_bb_t m_oOldSize;
-
- /** Raw mouse position (not aligned to grid).
- */
- Wxd_point_t m_ptMousePosRaw;
-
- /** Mouse position aligned to grid.
- */
- Wxd_point_t m_ptMousePosGrid;
-
- /** Start point of copy or move operation.
- */
- Wxd_point_t m_ptMouseMoveStart;
-
- /** Difference in copy or move operation,
- (m_ptMousePosGrid - m_ptMouseMoveStart).
- */
- Wxd_point_t m_ptMouseMoveDiff;
-
- /** Original position of the point currently moved.
- Required to compute differences or to restore
- position on abort.
- */
- Wxd_point_t m_ptPointMoveOri;
-
- /** Mouse position on control in pixels.
- */
- wxSize m_szMousePosPix;
-
- /** Object currently to edit with style elements.
- */
- Wxd_object_t *m_pStyle;
-
- /** Current object, used for several purposes:
- * S_NOOP: Selection candidate.
- * S_POLY_FURTHER: Polyline we are editing.
- */
- Wxd_object_t *m_pCurrent;
-
- /** Localized texts.
- */
- wxChar const * const *sTexts;
-
- /** Non-localized texts.
- */
- wxChar const * const *sNlWx;
-
- /** Non-localized texts.
- */
- dkChar const * const *sNlDk;
-
- /** Drawing opened in this frame.
- */
- Wxd_drawing_t *m_pDrw;
-
- /** Current operation state.
- */
- int m_iState;
-
- /** Accumulated wheel rotation with control key pressed.
- */
- int m_iWheelControl;
-
- /** Accumulated wheel rotation with shift key pressed.
- */
- int m_iWheelShift;
-
- /** Accumulated wheel rotation with not key pressed.
- */
- int m_iWheelNormal;
-
- /** Index of current point to edit.
- */
- uint16_t m_uCurrent;
-
- /** Object we are about to create or to convert to.
- */
- int8_t m_iObjToCreate;
-
- /** Flag for different purposes:
- * Spline just created is interpolated (otherwise approximated).
- * Box just created is a rounded box (otherwise rectangular).
- * Rotation in negative direction.
- */
- bool m_bSplineInterpolated;
-
- /** Flag: Current mouse position is an acceptable point.
- */
- bool m_bAcceptablePoint;
-
- /** Flag: Is first idle.
- */
- bool m_bIsFirstIdle;
-
- /** Flag: Windows is active an event handlers can be executed.
- This flag is set in the reaction on the first idle event
- and reset on closing the application.
- */
- bool m_bActive;
-
- /** Flag: Drawing was modified (there are unsaved changes).
- */
- bool m_bModified;
-
- /** Flag: File name known for output file.
- */
- bool m_bHaveName;
-
- /** Flag: Mouse position is known.
- */
- bool m_bMousePos;
-
- /** Flag: Successfully calculated difference for copy/shift operation.
- */
- bool m_bMouseDiff;
-
- /** Snap point to move to the mouse position (otherwise relative
- movement).
- */
- bool m_bSnap;
-
- /** Flag: Update frame at end of event handler.
- */
- bool m_bUpdate;
-
- /** Flag: Append new point after current point (true)
- or insert before current point (false).
- */
- bool m_bAppendPoint;
-
- /** Flag: Have corner point to move when changing drawing size.
- */
- bool m_bHaveCornerPoint;
-
- /** Flip vertically (true) or horizontally (false).
- */
- bool m_bVerticalFlip;
-
- /* __CHANGE__ 011: Add further member variables.
- */
-
- /** Flag: GUI ok.
- */
- bool dkctGUILayoutOK;
-
- /** Contents panel.
- */
- wxPanel *dkctGUIContentsPanel;
-
- /** GUI element mainSizer.
- */
-#line 567 "WxdkdrawFrame.wxc"
- wxBoxSizer *mainSizer;
-
- /** GUI element mbMain.
- */
-#line 17 "WxdkdrawFrame.wxc"
- wxMenuBar *mbMain;
-
- /** GUI element menuFile.
- */
-#line 25 "WxdkdrawFrame.wxc"
- wxMenu *menuFile;
-
- /** GUI element menuAdd.
- */
-#line 58 "WxdkdrawFrame.wxc"
- wxMenu *menuAdd;
-
- /** GUI element menuEdit.
- */
-#line 164 "WxdkdrawFrame.wxc"
- wxMenu *menuEdit;
-
- /** GUI element menuView.
- */
-#line 335 "WxdkdrawFrame.wxc"
- wxMenu *menuView;
-
- /** GUI element menuOptions.
- */
-#line 341 "WxdkdrawFrame.wxc"
- wxMenu *menuOptions;
-
- /** GUI element menuHelp.
- */
-#line 552 "WxdkdrawFrame.wxc"
- wxMenu *menuHelp;
-
- /** GUI element miFileNew.
- */
-#line 33 "WxdkdrawFrame.wxc"
- wxMenuItem *miFileNew;
-
- /** GUI element miFileOpen.
- */
-#line 38 "WxdkdrawFrame.wxc"
- wxMenuItem *miFileOpen;
-
- /** GUI element miFileSave.
- */
-#line 43 "WxdkdrawFrame.wxc"
- wxMenuItem *miFileSave;
-
- /** GUI element miFileSaveAs.
- */
-#line 48 "WxdkdrawFrame.wxc"
- wxMenuItem *miFileSaveAs;
-
- /** GUI element miFileExit.
- */
-#line 53 "WxdkdrawFrame.wxc"
- wxMenuItem *miFileExit;
-
- /** GUI element miAddPolyline.
- */
-#line 79 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddPolyline;
-
- /** GUI element miAddPolygon.
- */
-#line 84 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddPolygon;
-
- /** GUI element miAddRectangle.
- */
-#line 89 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddRectangle;
-
- /** GUI element miAddRoundedBox.
- */
-#line 94 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddRoundedBox;
-
- /** GUI element miAddCircle.
- */
-#line 99 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddCircle;
-
- /** GUI element miAddEllipse.
- */
-#line 104 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddEllipse;
-
- /** GUI element miAddArcOpen.
- */
-#line 109 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddArcOpen;
-
- /** GUI element miAddArcClosed.
- */
-#line 114 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddArcClosed;
-
- /** GUI element miAddSplineAO.
- */
-#line 119 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddSplineAO;
-
- /** GUI element miAddSplineAC.
- */
-#line 124 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddSplineAC;
-
- /** GUI element miAddSplineIO.
- */
-#line 129 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddSplineIO;
-
- /** GUI element miAddSplineIC.
- */
-#line 134 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddSplineIC;
-
- /** GUI element miAddConnector.
- */
-#line 139 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddConnector;
-
- /** GUI element miAddPin.
- */
-#line 144 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddPin;
-
- /** GUI element miAddText.
- */
-#line 149 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddText;
-
- /** GUI element miAddImage.
- */
-#line 154 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddImage;
-
- /** GUI element miAddLibelem.
- */
-#line 159 "WxdkdrawFrame.wxc"
- wxMenuItem *miAddLibelem;
-
- /** GUI element miEditCopy.
- */
-#line 184 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditCopy;
-
- /** GUI element miEditMove.
- */
-#line 189 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditMove;
-
- /** GUI element miEditDelete.
- */
-#line 194 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditDelete;
-
- /** GUI element miEditPointAdd.
- */
-#line 209 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditPointAdd;
-
- /** GUI element miEditPointRemove.
- */
-#line 214 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditPointRemove;
-
- /** GUI element miEditPointMove.
- */
-#line 199 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditPointMove;
-
- /** GUI element miEditModifySpline.
- */
-#line 204 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditModifySpline;
-
- /** GUI element miEditFlipH.
- */
-#line 246 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditFlipH;
-
- /** GUI element miEditFlipV.
- */
-#line 251 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditFlipV;
-
- /** GUI element miEditRotLeft.
- */
-#line 256 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditRotLeft;
-
- /** GUI element miEditRotRight.
- */
-#line 261 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditRotRight;
-
- /** GUI element miEditDetails.
- */
-#line 219 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditDetails;
-
- /** GUI element mEditGroup.
- */
-#line 224 "WxdkdrawFrame.wxc"
- wxMenu *mEditGroup;
-
- /** GUI element miEditUngroup.
- */
-#line 241 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditUngroup;
-
- /** GUI element miEditChangeSize.
- */
-#line 267 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditChangeSize;
-
- /** GUI element mEditConvert.
- */
-#line 272 "WxdkdrawFrame.wxc"
- wxMenu *mEditConvert;
-
- /** GUI element miEditGroupElements.
- */
-#line 230 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditGroupElements;
-
- /** GUI element miEditGroupIncluding.
- */
-#line 235 "WxdkdrawFrame.wxc"
- wxMenuItem *miEditGroupIncluding;
-
- /** GUI element miPolygonToPolyline.
- */
-#line 290 "WxdkdrawFrame.wxc"
- wxMenuItem *miPolygonToPolyline;
-
- /** GUI element miPolylineToPolygon.
- */
-#line 285 "WxdkdrawFrame.wxc"
- wxMenuItem *miPolylineToPolygon;
-
- /** GUI element miClosedToOpenArc.
- */
-#line 300 "WxdkdrawFrame.wxc"
- wxMenuItem *miClosedToOpenArc;
-
- /** GUI element miOpenToClosedArc.
- */
-#line 295 "WxdkdrawFrame.wxc"
- wxMenuItem *miOpenToClosedArc;
-
- /** GUI element miClosedToOpenSpline.
- */
-#line 310 "WxdkdrawFrame.wxc"
- wxMenuItem *miClosedToOpenSpline;
-
- /** GUI element miOpenToClosedSpline.
- */
-#line 305 "WxdkdrawFrame.wxc"
- wxMenuItem *miOpenToClosedSpline;
-
- /** GUI element miClosedToOpenIntSpline.
- */
-#line 320 "WxdkdrawFrame.wxc"
- wxMenuItem *miClosedToOpenIntSpline;
-
- /** GUI element miOpenToClosedIntSpline.
- */
-#line 315 "WxdkdrawFrame.wxc"
- wxMenuItem *miOpenToClosedIntSpline;
-
- /** GUI element miWhiteFilledToDot.
- */
-#line 330 "WxdkdrawFrame.wxc"
- wxMenuItem *miWhiteFilledToDot;
-
- /** GUI element miDotToWhiteFilled.
- */
-#line 325 "WxdkdrawFrame.wxc"
- wxMenuItem *miDotToWhiteFilled;
-
- /** GUI element menuZoom.
- */
-#line 348 "WxdkdrawFrame.wxc"
- wxMenu *menuZoom;
-
- /** GUI element menuLayer.
- */
-#line 369 "WxdkdrawFrame.wxc"
- wxMenu *menuLayer;
-
- /** GUI element miViewCenterView.
- */
-#line 384 "WxdkdrawFrame.wxc"
- wxMenuItem *miViewCenterView;
-
- /** GUI element menuColours.
- */
-#line 389 "WxdkdrawFrame.wxc"
- wxMenu *menuColours;
-
- /** GUI element miOptionsNewObjects.
- */
-#line 537 "WxdkdrawFrame.wxc"
- wxMenuItem *miOptionsNewObjects;
-
- /** GUI element miOptionsScreen.
- */
-#line 542 "WxdkdrawFrame.wxc"
- wxMenuItem *miOptionsScreen;
-
- /** GUI element miOptionsReset.
- */
-#line 547 "WxdkdrawFrame.wxc"
- wxMenuItem *miOptionsReset;
-
- /** GUI element miZoomIn.
- */
-#line 354 "WxdkdrawFrame.wxc"
- wxMenuItem *miZoomIn;
-
- /** GUI element miZoomOut.
- */
-#line 359 "WxdkdrawFrame.wxc"
- wxMenuItem *miZoomOut;
-
- /** GUI element miZoomReset.
- */
-#line 364 "WxdkdrawFrame.wxc"
- wxMenuItem *miZoomReset;
-
- /** GUI element miLayerActivateAll.
- */
-#line 374 "WxdkdrawFrame.wxc"
- wxMenuItem *miLayerActivateAll;
-
- /** GUI element miLayerManager.
- */
-#line 379 "WxdkdrawFrame.wxc"
- wxMenuItem *miLayerManager;
-
- /** GUI element menuColourBorder.
- */
-#line 401 "WxdkdrawFrame.wxc"
- wxMenu *menuColourBorder;
-
- /** GUI element menuColourBackground.
- */
-#line 416 "WxdkdrawFrame.wxc"
- wxMenu *menuColourBackground;
-
- /** GUI element menuColourGrid.
- */
-#line 432 "WxdkdrawFrame.wxc"
- wxMenu *menuColourGrid;
-
- /** GUI element menuColourPlacement.
- */
-#line 447 "WxdkdrawFrame.wxc"
- wxMenu *menuColourPlacement;
-
- /** GUI element menuColourCopy.
- */
-#line 462 "WxdkdrawFrame.wxc"
- wxMenu *menuColourCopy;
-
- /** GUI element menuColourMove.
- */
-#line 477 "WxdkdrawFrame.wxc"
- wxMenu *menuColourMove;
-
- /** GUI element menuColourDelete.
- */
-#line 492 "WxdkdrawFrame.wxc"
- wxMenu *menuColourDelete;
-
- /** GUI element menuColourGroup.
- */
-#line 507 "WxdkdrawFrame.wxc"
- wxMenu *menuColourGroup;
-
- /** GUI element menuColourMissing.
- */
-#line 522 "WxdkdrawFrame.wxc"
- wxMenu *menuColourMissing;
-
- /** GUI element miColourBorderModify.
- */
-#line 406 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourBorderModify;
-
- /** GUI element miColourBorderReset.
- */
-#line 411 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourBorderReset;
-
- /** GUI element miColourBackgroundModify.
- */
-#line 422 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourBackgroundModify;
-
- /** GUI element miColourBackgroundReset.
- */
-#line 427 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourBackgroundReset;
-
- /** GUI element miColourGridModify.
- */
-#line 437 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourGridModify;
-
- /** GUI element miColourGridReset.
- */
-#line 442 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourGridReset;
-
- /** GUI element miColourPlacementModify.
- */
-#line 452 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourPlacementModify;
-
- /** GUI element miColourPlacementReset.
- */
-#line 457 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourPlacementReset;
-
- /** GUI element miColourCopyModify.
- */
-#line 467 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourCopyModify;
-
- /** GUI element miColourCopyReset.
- */
-#line 472 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourCopyReset;
-
- /** GUI element miColourMoveModify.
- */
-#line 482 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourMoveModify;
-
- /** GUI element miColourMoveReset.
- */
-#line 487 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourMoveReset;
-
- /** GUI element miColourDeleteModify.
- */
-#line 497 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourDeleteModify;
-
- /** GUI element miColourDeleteReset.
- */
-#line 502 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourDeleteReset;
-
- /** GUI element miColourGroupModify.
- */
-#line 512 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourGroupModify;
-
- /** GUI element miColourGroupReset.
- */
-#line 517 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourGroupReset;
-
- /** GUI element miColourMissingModify.
- */
-#line 527 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourMissingModify;
-
- /** GUI element miColourMissingReset.
- */
-#line 532 "WxdkdrawFrame.wxc"
- wxMenuItem *miColourMissingReset;
-
- /** GUI element miHelpAbout.
- */
-#line 557 "WxdkdrawFrame.wxc"
- wxMenuItem *miHelpAbout;
-
- /** GUI element miHelpContents.
- */
-#line 562 "WxdkdrawFrame.wxc"
- wxMenuItem *miHelpContents;
-
- /** GUI element verticalSizer.
- */
-#line 573 "WxdkdrawFrame.wxc"
- wxBoxSizer *verticalSizer;
-
- /** GUI element szTopBar.
- */
-#line 588 "WxdkdrawFrame.wxc"
- wxBoxSizer *szTopBar;
-
- /** GUI element szMiddleBar.
- */
-#line 609 "WxdkdrawFrame.wxc"
- wxBoxSizer *szMiddleBar;
-
- /** GUI element szBottomBar.
- */
-#line 648 "WxdkdrawFrame.wxc"
- wxGridBagSizer *szBottomBar;
-
- /** GUI element szHintsBar.
- */
-#line 721 "WxdkdrawFrame.wxc"
- wxBoxSizer *szHintsBar;
-
- /** GUI element bFileOpen.
- */
-#line 773 "WxdkdrawFrame.wxc"
- wxBitmapButton *bFileOpen;
-
- /** GUI element bFileSave.
- */
-#line 778 "WxdkdrawFrame.wxc"
- wxBitmapButton *bFileSave;
-
- /** GUI element lZoomPercent.
- */
-#line 884 "WxdkdrawFrame.wxc"
- wxStaticText *lZoomPercent;
-
- /** GUI element bZoomIn.
- */
-#line 869 "WxdkdrawFrame.wxc"
- wxBitmapButton *bZoomIn;
-
- /** GUI element bZoomOut.
- */
-#line 874 "WxdkdrawFrame.wxc"
- wxBitmapButton *bZoomOut;
-
- /** GUI element bZoomOne.
- */
-#line 879 "WxdkdrawFrame.wxc"
- wxBitmapButton *bZoomOne;
-
- /** GUI element cbGridOnOff.
- */
-#line 887 "WxdkdrawFrame.wxc"
- wxCheckBox *cbGridOnOff;
-
- /** GUI element cbGridUnit.
- */
-#line 892 "WxdkdrawFrame.wxc"
- wxChoice *cbGridUnit;
-
- /** GUI element cbGridBase.
- */
-#line 897 "WxdkdrawFrame.wxc"
- wxChoice *cbGridBase;
-
- /** GUI element cbPH.
- */
-#line 903 "WxdkdrawFrame.wxc"
- wxCheckBox *cbPH;
-
- /** GUI element szLeftBar.
- */
-#line 618 "WxdkdrawFrame.wxc"
- wxGridBagSizer *szLeftBar;
-
- /** GUI element szOperationsAndDraw.
- */
-#line 638 "WxdkdrawFrame.wxc"
- wxBoxSizer *szOperationsAndDraw;
-
- /** GUI element bPolyline.
- */
-#line 908 "WxdkdrawFrame.wxc"
- wxBitmapButton *bPolyline;
-
- /** GUI element bPolygon.
- */
-#line 913 "WxdkdrawFrame.wxc"
- wxBitmapButton *bPolygon;
-
- /** GUI element bRect.
- */
-#line 918 "WxdkdrawFrame.wxc"
- wxBitmapButton *bRect;
-
- /** GUI element bBox.
- */
-#line 923 "WxdkdrawFrame.wxc"
- wxBitmapButton *bBox;
-
- /** GUI element bCircle.
- */
-#line 928 "WxdkdrawFrame.wxc"
- wxBitmapButton *bCircle;
-
- /** GUI element bEllipse.
- */
-#line 933 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEllipse;
-
- /** GUI element bArcOpen.
- */
-#line 938 "WxdkdrawFrame.wxc"
- wxBitmapButton *bArcOpen;
-
- /** GUI element bArcClosed.
- */
-#line 943 "WxdkdrawFrame.wxc"
- wxBitmapButton *bArcClosed;
-
- /** GUI element bSplineAO.
- */
-#line 948 "WxdkdrawFrame.wxc"
- wxBitmapButton *bSplineAO;
-
- /** GUI element bSplineAC.
- */
-#line 953 "WxdkdrawFrame.wxc"
- wxBitmapButton *bSplineAC;
-
- /** GUI element bSplineIO.
- */
-#line 958 "WxdkdrawFrame.wxc"
- wxBitmapButton *bSplineIO;
-
- /** GUI element bSplineIC.
- */
-#line 963 "WxdkdrawFrame.wxc"
- wxBitmapButton *bSplineIC;
-
- /** GUI element bConnector.
- */
-#line 968 "WxdkdrawFrame.wxc"
- wxBitmapButton *bConnector;
-
- /** GUI element bPin.
- */
-#line 973 "WxdkdrawFrame.wxc"
- wxBitmapButton *bPin;
-
- /** GUI element bText.
- */
-#line 978 "WxdkdrawFrame.wxc"
- wxBitmapButton *bText;
-
- /** GUI element bImage.
- */
-#line 988 "WxdkdrawFrame.wxc"
- wxBitmapButton *bImage;
-
- /** GUI element bLibelem.
- */
-#line 983 "WxdkdrawFrame.wxc"
- wxBitmapButton *bLibelem;
-
- /** GUI element szOperationButtons.
- */
-#line 735 "WxdkdrawFrame.wxc"
- wxBoxSizer *szOperationButtons;
-
- /** GUI element szDrawco.
- */
-#line 762 "WxdkdrawFrame.wxc"
- wxGridBagSizer *szDrawco;
-
- /** GUI element lLayer.
- */
-#line 994 "WxdkdrawFrame.wxc"
- wxStaticText *lLayer;
-
- /** GUI element spLayerNumber.
- */
-#line 1015 "WxdkdrawFrame.wxc"
- wxSpinCtrl *spLayerNumber;
-
- /** GUI element lLine.
- */
-#line 998 "WxdkdrawFrame.wxc"
- wxStaticText *lLine;
-
- /** GUI element szLine.
- */
-#line 690 "WxdkdrawFrame.wxc"
- wxBoxSizer *szLine;
-
- /** GUI element lFill.
- */
-#line 1002 "WxdkdrawFrame.wxc"
- wxStaticText *lFill;
-
- /** GUI element szFill.
- */
-#line 701 "WxdkdrawFrame.wxc"
- wxBoxSizer *szFill;
-
- /** GUI element lText.
- */
-#line 1006 "WxdkdrawFrame.wxc"
- wxStaticText *lText;
-
- /** GUI element szText.
- */
-#line 706 "WxdkdrawFrame.wxc"
- wxBoxSizer *szText;
-
- /** GUI element ccLineColour.
- */
-#line 1021 "WxdkdrawFrame.wxc"
- Dk4WxColourView *ccLineColour;
-
- /** GUI element spLineWidth.
- */
-#line 1026 "WxdkdrawFrame.wxc"
- wxSpinCtrl *spLineWidth;
-
- /** GUI element bStyleLineStyle.
- */
-#line 1032 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleLineStyle;
-
- /** GUI element bStyleLineJoins.
- */
-#line 1042 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleLineJoins;
-
- /** GUI element bStyleLineEnds.
- */
-#line 1037 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleLineEnds;
-
- /** GUI element bStyleArrowForward.
- */
-#line 1047 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleArrowForward;
-
- /** GUI element bStyleArrowBackward.
- */
-#line 1052 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleArrowBackward;
-
- /** GUI element ccFillColour.
- */
-#line 1057 "WxdkdrawFrame.wxc"
- Dk4WxColourView *ccFillColour;
-
- /** GUI element bStyleFillPattern.
- */
-#line 1062 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleFillPattern;
-
- /** GUI element cbStyleTextLaTeX.
- */
-#line 1067 "WxdkdrawFrame.wxc"
- wxCheckBox *cbStyleTextLaTeX;
-
- /** GUI element bStyleTextAlign.
- */
-#line 1072 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleTextAlign;
-
- /** GUI element bStyleFontName.
- */
-#line 1077 "WxdkdrawFrame.wxc"
- wxBitmapButton *bStyleFontName;
-
- /** GUI element spFontSize.
- */
-#line 1082 "WxdkdrawFrame.wxc"
- wxSpinCtrl *spFontSize;
-
- /** GUI element lRotation.
- */
-#line 1088 "WxdkdrawFrame.wxc"
- wxStaticText *lRotation;
-
- /** GUI element spRotation.
- */
-#line 1091 "WxdkdrawFrame.wxc"
- wxSpinCtrl *spRotation;
-
- /** GUI element tlMouseL.
- */
-#line 1097 "WxdkdrawFrame.wxc"
- wxStaticText *tlMouseL;
-
- /** GUI element msgMouseL.
- */
-#line 1100 "WxdkdrawFrame.wxc"
- wxStaticText *msgMouseL;
-
- /** GUI element tlMouseM.
- */
-#line 1104 "WxdkdrawFrame.wxc"
- wxStaticText *tlMouseM;
-
- /** GUI element msgMouseM.
- */
-#line 1107 "WxdkdrawFrame.wxc"
- wxStaticText *msgMouseM;
-
- /** GUI element tlMouseR.
- */
-#line 1111 "WxdkdrawFrame.wxc"
- wxStaticText *tlMouseR;
-
- /** GUI element msgMouseR.
- */
-#line 1114 "WxdkdrawFrame.wxc"
- wxStaticText *msgMouseR;
-
- /** GUI element tlPosX.
- */
-#line 1118 "WxdkdrawFrame.wxc"
- wxStaticText *tlPosX;
-
- /** GUI element msgPosX.
- */
-#line 1121 "WxdkdrawFrame.wxc"
- wxStaticText *msgPosX;
-
- /** GUI element tlPosY.
- */
-#line 1125 "WxdkdrawFrame.wxc"
- wxStaticText *tlPosY;
-
- /** GUI element msgPosY.
- */
-#line 1128 "WxdkdrawFrame.wxc"
- wxStaticText *msgPosY;
-
- /** GUI element bEditCopy.
- */
-#line 783 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditCopy;
-
- /** GUI element bEditMove.
- */
-#line 788 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditMove;
-
- /** GUI element bEditDelete.
- */
-#line 793 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditDelete;
-
- /** GUI element bEditPointAdd.
- */
-#line 854 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditPointAdd;
-
- /** GUI element bEditPointDelete.
- */
-#line 859 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditPointDelete;
-
- /** GUI element bEditPointMove.
- */
-#line 798 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditPointMove;
-
- /** GUI element cbPointMoveMode.
- */
-#line 803 "WxdkdrawFrame.wxc"
- wxChoice *cbPointMoveMode;
-
- /** GUI element bModifySplineValue.
- */
-#line 808 "WxdkdrawFrame.wxc"
- wxBitmapButton *bModifySplineValue;
-
- /** GUI element bEditFlipH.
- */
-#line 834 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditFlipH;
-
- /** GUI element bEditFlipV.
- */
-#line 839 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditFlipV;
-
- /** GUI element bEditRotLeft.
- */
-#line 844 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditRotLeft;
-
- /** GUI element bEditRotRight.
- */
-#line 849 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditRotRight;
-
- /** GUI element bEditDetails.
- */
-#line 813 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditDetails;
-
- /** GUI element bEditGroup.
- */
-#line 819 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditGroup;
-
- /** GUI element bEditGroup3.
- */
-#line 824 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditGroup3;
-
- /** GUI element bEditUngroup.
- */
-#line 829 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditUngroup;
-
- /** GUI element bEditChangeSize.
- */
-#line 864 "WxdkdrawFrame.wxc"
- wxBitmapButton *bEditChangeSize;
-
- /** GUI element drawco.
- */
-#line 1133 "WxdkdrawFrame.wxc"
- Control *drawco;
-
- /** GUI element sbVert.
- */
-#line 1138 "WxdkdrawFrame.wxc"
- wxScrollBar *sbVert;
-
- /** GUI element sbHori.
- */
-#line 1143 "WxdkdrawFrame.wxc"
- wxScrollBar *sbHori;
-
-
-#line 2656 "WxdkdrawFrame.wxc"
-
- public:
-
- /* frame public members */
-
- /** Names for bitmaps to visualize line styles.
- */
- static const char ** const ms_ls_images[];
-
- /** Names for bitmaps to visualize line cap styles.
- */
- static const char ** const ms_lc_images[];
-
- /** Names for bitmaps to visualize line join styles.
- */
- static const char ** const ms_lj_images[];
-
- /** Names for bitmaps to visualize arrow types.
- */
- static const char ** const ms_arrow_images[];
-
- /** Names for bitmaps to visualize fill patterns.
- */
- static const char ** const ms_fs_images[];
-
- /** Names for bitmaps to visualize text alignments.
- */
- static const char ** const ms_ta_images[];
-
- /** Names for bitmaps to visualize fonts.
- */
- static const char ** const ms_fn_images[];
-
- /** Constructor.
- @param wxid Window ID.
- @param applicationHelper Application helper object.
- @param hc Help controller for online help.
- @param argc Number of command line arguments.
- @param argv Command line arguments array.
- @param localizedTexts Localized wxChar texts.
- @param nlWx Non-localized wxChar texts.
- @param nlDk Non-localized dkChar texts.
- */
- WxdkdrawFrame(
- int wxid,
- Dk4WxApplicationHelper *applicationHelper,
- Dk4WxHelpController *hc,
- int argc,
- wxChar **argv,
- wxChar const * const *localizedTexts,
- wxChar const * const *nlWx,
- dkChar const * const *nlDk
- );
-
- /** Destructor.
- */
- ~WxdkdrawFrame();
-
- /** Check whether we can close the window.
- @param isLast Flag: Last main window to close.
- */
- bool
- CanClose(bool isFinal);
-
- /** Handler for File/Exit.
- @param event Event to process.
- */
- void
- OnQuit(wxCommandEvent & event);
-
- /** Handler for Help/About.
- @param event Event to process.
- */
- void
- OnAbout(wxCommandEvent & event);
-
- /** Handler for Help/Contents.
- @param event Event to process.
- */
- void
- OnHelpContents(wxCommandEvent & event);
-
- /** Handler for idle events.
- @param event Event to process.
- */
- void
- OnIdle(wxIdleEvent & event);
-
- /** Handler File / New.
- @param event Event to process.
- */
- void
- OnFileNew(wxCommandEvent & event);
-
- /** Handler File / Open.
- @param event Event to process.
- */
- void
- OnFileOpen(wxCommandEvent & event);
-
- /** Save drawing to file.
- @return True on success, false on error.
- */
- bool
- SaveToFile(void);
-
- /** Mark the drawing as modified or not modified.
- @param f New flag value.
- */
- void
- SetModified(bool f = true);
-
- /** Handler File / Save.
- @param event Event to process.
- */
- void
- OnFileSave(wxCommandEvent & event);
-
- /** Handler File / Save as.
- @param event Event to process.
- */
- void
- OnFileSaveAs(wxCommandEvent & event);
-
- /** On zoom out correct the center point if necessary.
- */
- void
- CorrectCenterPointIfNecessary(void);
-
- /** Zoom level was changed.
- @param bZoomOut Zoom change was "zoom out".
- */
- void
- ZoomChanged(bool bZoomOut = false);
-
- /** Adjust scrollbars after zoom or position change.
- */
- void
- AdjustScrollbars(void);
-
- /** Handler Zoom / In.
- @param event Event to process.
- */
- void
- OnZoomIn(wxCommandEvent & event);
-
- /** Handler Zoom / Out.
- @param event Event to process.
- */
- void
- OnZoomOut(wxCommandEvent & event);
-
- /** Handler Zoom / Reset.
- @param event Event to process.
- */
- void
- OnZoom100(wxCommandEvent & event);
-
- /** Start polygon or polyline.
- @param ot Object type to start, WXD_OT_POLYLINE or WXD_OT_POLYGON.
- */
- void
- OnPolygonPolyline(int8_t ot);
-
- /** Handler for Add polyline.
- @param event Event to process.
- */
- void
- OnAddPolyline(wxCommandEvent & event);
-
-
- /** Handler for Add polygon.
- @param event Event to process.
- */
- void
- OnAddPolygon(wxCommandEvent & event);
-
- /** Start creation of rectangular box.
- @param bRounded Rounded corners (rectangular otherwise).
- */
- void
- OnRectangleBox(bool bRounded);
-
- /** Handler for Add rectangle.
- @param event Event to process.
- */
- void
- OnAddRectangle(wxCommandEvent & event);
-
- /** Handler for Add box.
- @param event Event to process.
- */
- void
- OnAddBox(wxCommandEvent & event);
-
- /** Handler for Add circle.
- @param event Event to process.
- */
- void
- OnAddCircle(wxCommandEvent & event);
-
- /** Handler for Add ellipse.
- @param event Event to process.
- */
- void
- OnAddEllipse(wxCommandEvent & event);
-
- /** Handler for Add open arc.
- @param event Event to process.
- */
- void
- OnAddArcOpen(wxCommandEvent & event);
-
- /** Handler for Add closed arc.
- @param event Event to process.
- */
- void
- OnAddArcClosed(wxCommandEvent & event);
-
- /** Start creation of new spline.
- @param ot Object type (open or closed spline).
- @param bInterpolated Interpolated or approximated.
- */
- void
- OnSpline(int8_t ot, bool bInterpolated);
-
- /** Handler for Add open approximated spline.
- @param event Event to process.
- */
- void
- OnAddSplineAO(wxCommandEvent & event);
-
- /** Handler for Add closed approximated spline.
- @param event Event to process.
- */
- void
- OnAddSplineAC(wxCommandEvent & event);
-
- /** Handler for Add open interpolated spline.
- @param event Event to process.
- */
- void
- OnAddSplineIO(wxCommandEvent & event);
-
- /** Handler for Add closed interpolated spline.
- @param event Event to process.
- */
- void
- OnAddSplineIC(wxCommandEvent & event);
-
- /** Handler for Add dot.
- @param event Event to process.
- */
- void
- OnAddDot(wxCommandEvent & event);
-
- /** Handler for Add white filled dot.
- @param event Event to process.
- */
- void
- OnAddWhiteDot(wxCommandEvent & event);
-
- /** Handler for Add text label.
- @param event Event to process.
- */
- void
- OnAddTextlabel(wxCommandEvent & event);
-
- /** Handler for Add image.
- @param event Event to process.
- */
- void
- OnAddImage(wxCommandEvent & event);
-
- /** Inner function to add library element.
- */
- void
- AddLibelem(void);
-
- /** Handler for Add library element.
- @param event Event to process.
- */
- void
- OnAddLibelem(wxCommandEvent & event);
-
- /** Handler for Edit / copy.
- @param event Event to process.
- */
- void
- OnEditCopy(wxCommandEvent & event);
-
- /** Handler for Edit / move.
- @param event Event to process.
- */
- void
- OnEditMove(wxCommandEvent & event);
-
- /** Handler for Edit / delete.
- @param event Event to process.
- */
- void
- OnEditDelete(wxCommandEvent & event);
-
- /** Handler for Edit / Move point.
- @param event Event to process.
- */
- void
- OnEditPointMove(wxCommandEvent & event);
-
- /** Handler for Edit / Add point.
- @param event Event to process.
- */
- void
- OnEditPointAdd(wxCommandEvent & event);
-
- /** Handler for Edit / Delete point.
- @param event Event to process.
- */
- void
- OnEditPointDelete(wxCommandEvent & event);
-
- /** Handler for Edit / Details.
- @param event Event to process.
- */
- void
- OnEditDetails(wxCommandEvent & event);
-
- /** Handler for Edit / Group.
- @param event Event to process.
- */
- void
- OnEditGroup(wxCommandEvent & event);
-
- /** Handler for Edit / Group.
- @param event Event to process.
- */
- void
- OnEditGroup3(wxCommandEvent & event);
-
- /** Handler for Edit / Ungroup.
- @param event Event to process.
- */
- void
- OnEditUngroup(wxCommandEvent & event);
-
- /** Handler for Edit / Flip horizontally.
- @param event Event to process.
- */
- void
- OnEditFlipH(wxCommandEvent & event);
-
- /** Handler for Edit / Flip vertically.
- @param event Event to process.
- */
- void
- OnEditFlipV(wxCommandEvent & event);
-
- /** Handler for Rotate left.
- @param event Event to process.
- */
- void
- OnEditRotateLeft(wxCommandEvent & event);
-
- /** Handler for Rotate right.
- @param event Event to process.
- */
- void
- OnEditRotateRight(wxCommandEvent & event);
-
- /** Handler for Edit / Change drawing size.
- @param event Event to process.
- */
- void
- OnEditChangeSize(wxCommandEvent & event);
-
- /** Handler for View / Layers / Activate all.
- @param event Event to process.
- */
- void
- OnLayersAll(wxCommandEvent & event);
-
- /** Handler for View / Layers / Layer manager.
- @param event Event to process.
- */
- void
- OnLayerManager(wxCommandEvent & event);
-
- /** Center view.
- */
- void
- OnCenterViewFunction(void);
-
- /** Handler for View / center view.
- @param event Event to process.
- */
- void
- OnCenterView(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert1(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert2(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert3(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert4(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert5(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert6(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert7(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert8(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvert9(wxCommandEvent & event);
-
- /** Handler for conversion.
- @param event Event to process.
- */
- void
- OnConvertA(wxCommandEvent & event);
-
- /** Handler for options reset.
- @param event Event to process.
- */
- void
- OnResetOptions(wxCommandEvent & event);
-
- /** Handler for "modify spline s value" button or menu item.
- */
- void
- OnModifySplineValue(wxCommandEvent & event);
-
- /** Handler for "defaults for new objects" menu item.
- @param event Event to process.
- */
- void
- OnOptionsNewObjects(wxCommandEvent & event);
-
- /** Handler for "screen representation options" menu item.
- @param event Event to process.
- */
- void
- OnOptionsScreenRepresentation(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourBorderModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourBorderReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourBackgroundModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourBackgroundReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourGridModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourGridReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourPlacementModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourPlacementReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourCopyModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourCopyReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourMoveModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourMoveReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourDeleteModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourDeleteReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourGroupModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourGroupReset(wxCommandEvent & event);
-
- /** Handler for colour modification.
- @param event Event to process.
- */
- void
- OnColourMissingModify(wxCommandEvent & event);
-
- /** Handler for colour reset.
- @param event Event to process.
- */
- void
- OnColourMissingReset(wxCommandEvent & event);
-
- /** Handler for Grid on/off.
- @param event Event to process.
- */
- void
- OnGridOnOff(wxCommandEvent & event);
-
- /** Handler for Grid unit.
- @param event Event to process.
- */
- void
- OnGridUnit(wxCommandEvent & event);
-
- /** Handler for Grid base.
- @param event Event to process.
- */
- void
- OnGridBase(wxCommandEvent & event);
-
- /** Handler for placement help checkbox.
- @param event Event to process.
- */
- void
- OnPlacementHelp(wxCommandEvent & event);
-
- /** Handler for layer change.
- @param event Event to process.
- */
- void
- OnStyleLayer(wxSpinEvent & event);
-
- /** Handler for line colour change.
- @param event Event to process.
- */
- void
- OnStyleLineColour(wxCommandEvent & event);
-
- /** Handler for line width change.
- @param event Event to process.
- */
- void
- OnStyleLineWidth(wxSpinEvent & event);
-
- /** Handler for line style button.
- @param event Event to process.
- */
- void
- OnStyleLineStyle(wxCommandEvent & event);
-
- /** Handler for line cap.
- @param event Event to process.
- */
- void
- OnStyleLineCap(wxCommandEvent & event);
-
- /** Handler for line width change.
- @param event Event to process.
- */
- void
- OnStyleLineJoin(wxCommandEvent & event);
-
- /** Handler for arrowhead forward button.
- @param event Event to process.
- */
- void
- OnStyleLineArrowF(wxCommandEvent & event);
-
- /** Handler for arrowhead backward button.
- @param event Event to process.
- */
- void
- OnStyleLineArrowB(wxCommandEvent & event);
-
- /** Handler for line width change.
- @param event Event to process.
- */
- void
- OnStyleFillColour(wxCommandEvent & event);
-
- /** Handler for fill pattern change.
- @param event Event to process.
- */
- void
- OnStyleFillPattern(wxCommandEvent & event);
-
- /** Handler for line width change.
- @param event Event to process.
- */
- void
- OnStyleTextLatex(wxCommandEvent & event);
-
- /** Handler for text align change.
- @param event Event to process.
- */
- void
- OnStyleTextAlign(wxCommandEvent & event);
-
- /** Handler for text font change.
- @param event Event to process.
- */
- void
- OnStyleTextFont(wxCommandEvent & event);
-
- /** Handler for text size change.
- @param event Event to process.
- */
- void
- OnStyleTextSize(wxSpinEvent & event);
-
- /** Handler for rotation spin control.
- @param event Event to process.
- */
- void
- OnSpinRotation(wxSpinEvent & event);
-
- /** Horizontal scrollbar handler.
- @param event Event to process.
- */
- void
- OnScrollH(wxScrollEvent & event);
-
- /** Vertical scrollbar handler.
- @param event Event to process.
- */
- void
- OnScrollV(wxScrollEvent & event);
-
- /** Require a redraw.
- Only to be executed between BeginEventHandling()
- and EndEventHandling().
- @param level Redraw level to require.
- */
- void
- RequireRedraw(int level);
-
- /** Update text if new font was choosen.
- @param pobj Modified text object.
- @param bRedraw Schedule redraw.
- */
- void
- UpdateTextForFont(Wxd_object_t *pobj, bool bRedraw = true);
-
- /** Set text for mouse messages when entering a new state.
- @param st New state to enter.
- */
- void
- SetMouseAndStatusTexts(int st);
-
- /* __CHANGE__ 014: Add further methods.
- */
-
- /** Attempt to update all fonts.
- */
- void
- UpdateFonts(void);
-
- protected:
-
- /* frame protected methods */
-
- /** Transfer style information from object to GUI elements.
- @param refresh Flag: Refresh GUI elements explicitly.
- */
- void
- StyleToGUI(bool refresh = true);
-
- /** Set style object (object to modify using the style GUI elements).
- @param pObj Object to modify.
- */
- void
- SetStyleObject(Wxd_object_t *pObj = NULL, bool bUpdate = true);
-
- /** Check whether the frame is up and initialized to handle events.
- On success, initialize things to handle one event.
- @return True to start event handling, false to skip.
- */
- bool
- BeginEventHandling(void);
-
- /** Start handling of events from control.
- */
- void
- StartEventHandling(void);
-
- /** Report modifications while reading a file at the end
- of event processing.
- */
- void
- ModificationReportingAtEventEnd(void);
-
- /** Do error reporting at end of event handling.
- */
- void
- ErrorReportingAtEventEnd(void);
-
- /** End handling one event. If necessary call Update() on the frame.
- */
- void
- EndEventHandling(void);
-
- /** Update one stipple structure.
- @param psti Stipple structure to update.
- */
- void
- UpdateOneStipple(Wxd_stipple_t *psti);
-
- /** Update internal pattern coefficients in m_dPatterns.
- Recalculation necessary after changing zoom factor and/or
- loading a new file.
- */
- void
- UpdatePatternCoefficients(void);
-
- /** Update stipple bitmaps after changing zoom or loading
- a file.
- */
- void
- UpdateStipples(void);
-
- /** Attempt to read all images not yet read.
- */
- void
- UpdateImages(void);
-
- /** Update one font.
- @param pfont Font to update.
- */
- void
- UpdateOneFont(Wxd_font_t *pfont);
-
- /** Find font structure, create new one if necessary.
- @param find Font index.
- @param fsz Font size in pt.
- @return Valid pointer to font structure on success, NULL on error.
- */
- Wxd_font_t *
- FindFont(uint8_t find, uint16_t fsz);
-
- /** Read a drawing from file.
- @param fn File name to read.
- @return Pointer to new drawing on success, NULL on error.
- */
- Wxd_drawing_t *
- ReadDrawingFromFile(wxString & fn);
-
- /** A new drawing was loaded, adjust GUI.
- */
- void
- DrawingLoaded(void);
-
- /** Find suitable size for colour viewers, derived from
- the height of the layer number spin control.
- @return Size suggestion for colour viewer.
- */
- wxSize
- ColourViewSize(void);
-
- /** Complete setup on first idle event.
- Using the first idle event ensures the window is already
- shown on screen.
- */
- void
- OnFirstIdle(void);
-
- /** Copy default style values to m_iv array.
- */
- void
- DefaultStyleToArray(void);
-
- /** Get default style values from m_iv array.
- */
- void
- DefaultStyleFromArray(void);
-
- /** Load defaults.
- */
- void
- LoadDefaults(void);
-
- /** Load configuration.
- */
- void
- LoadConfiguration(void);
-
- /** Save configuration.
- */
- void
- SaveConfiguration(void);
-
- /** Reset configuration settings to default values.
- */
- void
- ResetConfiguration(void);
-
- /** Update the position labels.
- @param havepos Flag: Position is known.
- @param x X position if position is known.
- @param y Y position if position is known.
- */
- void
- UpdatePositionLabels(bool havepos, int32_t x, int32_t y);
-
- /** Calculate drawing and grid position from mouse position.
- @return True if position was changed, false if no change.
- */
- bool
- UpdateGridPosition(void);
-
- /** Retrieve mouse position, calculate drawing and grid position.
- @param event Event to process.
- @return True if position was changed, false if everything
- unchanged.
- */
- bool
- UpdateMousePosition(wxMouseEvent & event);
-
- /** Move scrollbar position as action on mouse wheel.
- @param sb Scrollbar to modify.
- @param lines Number of lines to move.
- @param vert Flag: Moving the vertical bar.
- */
- void
- MoveScrollbar(wxScrollBar *sb, int lines, bool vert);
-
- /** Check whether an object is selectable in the current state.
- @param pobj Object to check.
- @return True if object is selectable, false otherwise.
- */
- bool
- ObjectSelectableInState(Wxd_object_t const *pobj);
-
- /** Find object nearest to raw mouse coordinates (not grid-aligned).
- @param gr Return group object instead of simple object.
- @return Object if found or NULL.
- */
- Wxd_object_t *
- FindNearestObject(bool gr = false);
-
- /** End polyline drawing operation while waiting for first point.
- @param bComplete End completely.
- @param bSkip Skip data entered so far in operation.
- */
- void
- EndOperationPolyFirst(void);
-
- /** End polyline drawing operation if points exist.
- @param bComplete End completely.
- @param bSkip Skip data entered so far in operation.
- */
- void
- EndOperationPolyFurther(bool bComplete, bool bSkip);
-
- /** End spline drawing operation while waiting for first point.
- */
- void
- EndOperationSplineFirst(void);
-
- /** End spline drawing operation if points exist.
- @param bComplete End completely.
- @param bSkip Skip data entered so far in operation.
- */
- void
- EndOperationSplineFurther(bool bComplete, bool bSkip);
-
- /** End 2-point operation while waiting for second point.
- @param ns Next state.
- @param bComplete End completely.
- */
- void
- EndOperationTwoPointsSecond(int ns, bool bComplete);
-
- /** End box drawing while waiting for first point.
- */
- void
- EndOperationBoxFirst(void);
-
- /** End box drawing while waiting for opposite point.
- @param bComplete End completely.
- */
- void
- EndOperationBoxOpposite(bool bComplete);
-
- /** End circle drawing while waiting for center point.
- */
- void
- EndOperationCircleCenter(void);
-
- /** End circle drawing while waiting for radius point.
- @param bComplete End completely.
- */
- void
- EndOperationCircleRadius(bool bComplete);
-
- /** End ellipse drawing while waiting for center point.
- */
- void
- EndOperationEllipseCenter(void);
-
- /** End ellipse drawing while waiting for bounding box corner point.
- @param bComplete End completely.
- */
- void
- EndOperationEllipseCorner(bool bComplete);
-
- /** End arc drawing while waiting for start point.
- */
- void
- EndOperationArc1(void);
-
- /** End arc drawing while waiting for intermediate point.
- @param bComplete End completely.
- */
- void
- EndOperationArc2(bool bComplete);
-
- /** End arc drawing while waiting for end point.
- @param bComplete End completely.
- */
- void
- EndOperationArc3(bool bComplete);
-
- /** End dot drawing while waiting for point.
- */
- void
- EndOperationDot(void);
-
- /** End library element placement operation while waiting for point.
- */
- void
- EndOperationLibelemPlace(void);
-
- /** End point move operation while placing point.
- */
- void
- EndOperationPointMovePlace(void);
-
- /** End point add operation while placing point.
- @param bComplete End completely.
- */
- void
- EndOperationPointAddPlace(bool bComplete);
-
- /** End point add operation while placing drawing corner point.
- @param bComplete End completely.
- */
- void
- EndOperationDrawingSizePlace(bool bComplete);
-
- /** End recent operation.
- @param bComplete End completely.
- @param bSkip Skip data entered so far in operation.
- */
- void
- EndOperation(bool bComplete = false, bool bSkip = false);
-
- /** Move marker 2 marked objects into new group.
- */
- void
- GroupNewForMarkedObjects(void);
-
- /** Ungroup objects from group (resolve group).
- @param pgrp Group to resolve.
- */
- void
- UngroupObjects(Wxd_object_t *pgrp);
-
- /** Check whether the current point is an acceptable point.
- @return Test result.
- */
- bool
- IsAcceptablePoint(void);
-
- /** Reaction on mouse move in S_NOOP state.
- */
- void
- MouseMoveNoop(void);
-
- /** Reaction on mouse move in S_DELETE state.
- */
- void
- MouseMoveDelete(void);
-
- /** Reaction on mouse move in S_REGION_DELETE state.
- */
- void
- MouseMoveRegionDelete(void);
-
- /** Reaction on mouse move while selecting objects to move.
- */
- void
- MouseMoveMoveSelect(void);
-
- /** Reaction on mouse move while placing objects to move.
- */
- void
- MouseMoveMovePlace(void);
-
- /** Reaction on mouse move while selecting objects to copy.
- */
- void
- MouseMoveCopySelect(void);
-
- /** Reaction on mouse move while placing objects to copy.
- */
- void
- MouseMoveCopyPlace(void);
-
- /** Reaction on middle mouse key.
- */
- void
- MouseMiddleDelete(void);
-
- /** Reaction on left mouse click in S_NOOP state.
- */
- void
- MouseLeftNoop(void);
-
- /** Reaction on left mouse click in S_DELETE state.
- */
- void
- MouseLeftDelete(void);
-
- /** Reaction on left mouse click in S_REGION_DELETE state.
- */
- void
- MouseLeftRegionDelete(void);
-
- /** Reaction on left mouse click while selecting objects to move.
- */
- void
- MouseLeftMoveSelect(void);
-
- /** Reaction on left mouse click while placing objects to move.
- */
- void
- MouseLeftMovePlace(void);
-
- /** Reaction on left mouse click while selecting objects to copy.
- */
- void
- MouseLeftCopySelect(void);
-
- /** Reaction on left mouse click while placing objects to copy.
- */
- void
- MouseLeftCopyPlace(void);
-
- /** Reaction on mouse move in S_POLY_FIRST state.
- */
- void
- MouseMovePolyFirst(void);
-
- /** Reaction on mouse move in S_POLY_FURTHER state.
- */
- void
- MouseMovePolyFurther(void);
-
- /** Reaction on mouse left click in S_POLY_FIRST state.
- */
- void
- MouseLeftPolyFirst(void);
-
- /** Reaction on mouse left click in S_POLY_FURTHER state.
- */
- void
- MouseLeftPolyFurther(void);
-
- /** X-spline s value at end points.
- @return S value.
- */
- double
- SValueAtEnd(void);
-
- /** Reaction on mouse movement in S_SPLINE_FIRST state.
- */
- void
- MouseMoveSplineFirst(void);
-
- /** Reaction on mouse movement in S_SPLINE_FURTHER state.
- */
- void
- MouseMoveSplineFurther(void);
-
- /** Reaction on mouse left click in S_SPLINE_FIRST state.
- */
- void
- MouseLeftSplineFirst(void);
-
- /** Reaction on mouse left click in S_SPLINE_FURTHER state.
- */
- void
- MouseLeftSplineFurther(void);
-
- /** Reaction on mouse move in S_ELLIPSE_CENTER state.
- */
- void
- MouseMoveEllipseCenter(void);
-
- /** Reaction on mouse left click in S_ELLIPSE_CENTER state.
- */
- void
- MouseLeftEllipseCenter(void);
-
- /** Reaction on mouse move in S_ELLIPSE_CORNER state.
- */
- void
- MouseMoveEllipseCorner(void);
-
- /** Reaction on mouse left click in S_ELLIPSE_CORNER state.
- */
- void
- MouseLeftEllipseCorner(void);
-
- /** Reaction on mouse move in S_ARC_1 state.
- */
- void
- MouseMoveArc1(void);
-
- /** Reaction on mouse left click in S_ARC_1 state.
- */
- void
- MouseLeftArc1(void);
-
- /** Reaction on mouse move in S_ARC_2 state.
- */
- void
- MouseMoveArc2(void);
-
- /** Reaction on mouse left click in S_ARC_2 state.
- */
- void
- MouseLeftArc2(void);
-
- /** Reaction on mouse move in S_ARC_3 state.
- */
- void
- MouseMoveArc3(void);
-
- /** Reaction on mouse left click in S_ARC_3 state.
- */
- void
- MouseLeftArc3(void);
-
- /** Set box details (bounding box from start point and current point).
- The radius should be updated only while constructing a box,
- not while moving a point.
- @param bUpdateRadius Update radius.
- */
- void
- SetBoxDetails(bool bUpdateRadius);
-
- /** Reaction on mouse move in S_BOX_FIRST state.
- */
- void
- MouseMoveBoxFirst(void);
-
- /** Reaction on mouse move in S_BOX_OPPOSITE state.
- */
- void
- MouseMoveBoxOpposite(void);
-
- /** Reaction on mouse left click in S_BOX_FIRST state.
- */
- void
- MouseLeftBoxFirst(void);
-
- /** Reaction on mouse left click in S_BOX_OPPOSITE state.
- */
- void
- MouseLeftBoxOpposite(void);
-
- /** Reaction on mouse move in S_CIRCLE_CENTER state.
- */
- void
- MouseMoveCircleCenter(void);
-
- /** Calculate circle radius from center point to current point.
- */
- void
- CalculateCircleRadius(uint32_t & rx, dk4_er_t *erp);
-
- /** Calculate ellipse radii from center point to current point.
- */
- void
- CalculateEllipseRadii(uint32_t & rx, uint32_t & ry, dk4_er_t *erp);
-
- /** Reaction on mouse move in S_CIRCLE_RADIUS state.
- */
- void
- MouseMoveCircleRadius(void);
-
- /** Reaction on mouse left click in S_CIRCLE_CENTER state.
- */
- void
- MouseLeftCircleCenter(void);
-
- /** Reaction on mouse left click in S_CIRCLE_RADIUS state.
- */
- void
- MouseLeftCircleRadius(void);
-
- /** Reaction on mouse move in S_DOT state.
- */
- void
- MouseMoveDot(void);
-
- /** Reaction on mouse left click in S_DOT state.
- */
- void
- MouseLeftDot(void);
-
- /** Reaction on mouse move in S_TEXT state.
- */
- void
- MouseMoveText(void);
-
- /** Reaction on mouse left click in S_TEXT state.
- */
- void
- MouseLeftText(void);
-
- /** Reaction on mouse move in S_IMG_1 state.
- */
- void
- MouseMoveImage1(void);
-
- /** Reaction on mouse move in S_IMG_2 state.
- */
- void
- MouseMoveImage2(void);
-
- /** Reaction on mouse left click in S_IMG_1 state.
- */
- void
- MouseLeftImage1(void);
-
- /** Reaction on mouse left click in S_IMG_2 state.
- */
- void
- MouseLeftImage2(void);
-
- /** Reaction on mouse move in S_LIBELEM_PLACE state.
- */
- void
- MouseMoveLibelemPlace(void);
-
- /** Reaction on mouse left click in S_LIBELEM_PLACE state.
- */
- void
- MouseLeftLibelemPlace(void);
-
- /** Reaction on mouse move in S_MOVEPT_SELECT state.
- */
- void
- MouseMovePointMoveSelect(void);
-
- /** Reaction on mouse left click in S_MOVEPT_SELECT state.
- */
- void
- MouseLeftPointMoveSelect(void);
-
- /** Reaction on mouse move in S_MOVEPT_PLACE state.
- */
- void
- MouseMovePointMovePlace(void);
-
- /** Modify spline s value after moving a spline point.
- @param pCurrent Spline object to modify.
- @param uCurrent Index of point to modify.
- */
- void
- ModifySplineValue(Wxd_object_t *pCurrent, uint16_t uCurrent);
-
- /** Reaction on mouse left click in S_MOVEPT_PLACE state.
- */
- void
- MouseLeftPointMovePlace(void);
-
- /** Reaction on mouse move in S_DELPT state.
- */
- void
- MouseMovePointDelete(void);
-
- /** Reaction on mouse left click in S_DELPT state.
- */
- void
- MouseLeftPointDelete(void);
-
- /** Reaction on mouse move in S_ADDPT_SELECT state.
- */
- void
- MouseMovePointAddSelect(void);
-
- /** Reaction on mouse left click in S_ADDPT_SELECT state.
- */
- void
- MouseLeftPointAddSelect(void);
-
- /** Reaction on mouse move in S_ADDPT_PLACE state.
- */
- void
- MouseMovePointAddPlace(void);
-
- /** Reaction on mouse move in S_DRWSZ_SELECT state.
- */
- void
- MouseMoveDrawingSizeSelect(void);
-
- /** Reaction on mouse move in S_DRWSZ_PLACE state.
- */
- void
- MouseMoveDrawingSizePlace(void);
-
- /** Reaction on mouse left click in S_ADDPT_PLACE state.
- */
- void
- MouseLeftPointAddPlace(void);
-
- /** Reaction on mouse left click in S_DRWSZ_SELECT state.
- */
- void
- MouseLeftDrawingSizeSelect(void);
-
- /** Reaction on mouse left click in S_DRWSZ_PLACE state.
- */
- void
- MouseLeftDrawingSizePlace(void);
-
- /** Reaction on mouse movement click in S_FLIP state.
- */
- void
- MouseMoveFlip(void);
-
- /** Reaction on mouse left click in S_FLIP state.
- */
- void
- MouseLeftFlip(void);
-
- /** Reaction on mouse movement in S_GROUP_ONE state.
- */
- void
- MouseMoveGroupOne(void);
-
- /** Reaction on mouse left click in S_GROUP_ONE state.
- */
- void
- MouseLeftGroupOne(void);
-
- /** Mark objects in the selected rectangle for grouping.
- */
- void
- MarkObjectsForRectangleGrouping(void);
-
- /** Mark objects in the selected rectangle for deletion.
- */
- void
- MarkObjectsForRectangleDeletion(void);
-
- /** Reaction on mouse movement in S_GROUP_RECT_1 state.
- */
- void
- MouseMoveGroupRect1(void);
-
- /** Reaction on mouse left click in S_GROUP_RECT_1 state.
- */
- void
- MouseLeftGroupRect1(void);
-
- /** Reaction on mouse movement in S_GROUP_RECT_2 state.
- */
- void
- MouseMoveGroupRect2(void);
-
- /** Reaction on mouse left click in S_GROUP_RECT_2 state.
- */
- void
- MouseLeftGroupRect2(void);
-
- /** Reaction on mouse movement in S_UNGROUP state.
- */
- void
- MouseMoveUngroup(void);
-
- /** Reaction on mouse left click in S_UNGROUP state.
- */
- void
- MouseLeftUngroup(void);
-
- /** Reaction on mouse movement in S_DETAILS state.
- */
- void
- MouseMoveDetails(void);
-
- /** Reaction on mouse left click in S_DETAILS state.
- */
- void
- MouseLeftDetails(void);
-
- /** Object type conversion: spline to polyline or polygon.
- @param pobj Object to convert.
- */
- void
- ConvertSplineToPoly(Wxd_object_t *pobj);
-
- /** Object type conversion: arc to polyline or polygon.
- @param pobj Object to convert.
- */
- void
- ConvertArcToPoly(Wxd_object_t *pobj);
-
- /** Object type conversion: box to polyline or polygon.
- @param pobj Object to convert.
- */
- void
- ConvertBoxToPoly(Wxd_object_t *pobj);
-
- /** Object type conversion: polyline or polygon to spline.
- @param pobj Object to convert.
- */
- void
- ConvertPolyToSpline(Wxd_object_t *pobj);
-
- /** Object type conversion: spline to spline.
- @param pobj Object to convert.
- */
- void
- ConvertSplineToSpline(Wxd_object_t *pobj);
-
- /** Object type conversion: arc to spline.
- @param pobj Object to convert.
- */
- void
- ConvertArcToSpline(Wxd_object_t *pobj);
-
- /** Object type conversion: box to spline.
- @param pobj Object to convert.
- */
- void
- ConvertBoxToSpline(Wxd_object_t *pobj);
-
- /** Object type conversion: polyline or polygon to arc.
- @param pobj Object to convert.
- */
- void
- ConvertPolyToArc(Wxd_object_t *pobj);
-
- /** Object type conversion: spline to arc.
- @param pobj Object to convert.
- */
- void
- ConvertSplineToArc(Wxd_object_t *pobj);
-
- /** Object type conversion: circle to dot.
- @param pobj Object to convert.
- */
- void
- ConvertCircleToDot(Wxd_object_t *pobj);
-
- /** Convert object to specified type.
- */
- void
- ObjectTypeConversion(Wxd_object_t *pobj);
-
- /** Reaction on mouse move in S_CONVERT state.
- */
- void
- MouseMoveConvert(void);
-
- /** Reaction on left mouse button in S_CONVERT state.
- */
- void
- MouseLeftConvert(void);
-
- /** Reaction on mouse move in S_ROTATE state.
- */
- void
- MouseMoveRotate(void);
-
- /** Reaction on left mouse button in S_ROTATE state.
- */
- void
- MouseLeftRotate(void);
-
- /** Reaction on mouse move in S_MOD_SPLINE state.
- */
- void
- MouseMoveModspline(void);
-
- /** Reaction on left mouse button in S_MOD_SPLINE state.
- */
- void
- MouseLeftModspline(void);
-
- /** Retrieve input from one text control, set pointer to
- a dynamic copy of the input text.
- @param ptxt Address of pointer to modify.
- @param ptc Text control containing users input.
- @param bKeepOld Keep old text if new text is empty.
- */
- void
- ChangeOneLabelText(
- wxChar **ptxt,
- wxTextCtrl *ptc,
- bool bKeepOld = true
- );
-
- /** Retrieve the input from text controls for export text and
- screen text, save text to m_pCurrent.
- @param ptce Text control for export text.
- @param ptcs Text control for screen text.
- @param bLaTeX LaTeX or non-LaTeX text.
- */
- void
- RetrieveTextDetails(
- wxTextCtrl *ptce,
- wxTextCtrl *ptcs,
- bool bLaTeX
- );
-
- /** Modify text label details (texts).
- */
- void
- ModifyDetailsText(void);
-
- /** Modify box details (corner radius).
- */
- void
- ModifyDetailsBox(void);
-
- /** Change image file for image object.
- @param pa New file name to use.
- */
- void
- ChangeImageFile(wxString & pa);
-
- /** Modify image details (image file name and flags).
- */
- void
- ModifyDetailsImage(void);
-
- /** Modify filled dot details (diameter).
- */
- void
- ModifyDetailsDotFilled(void);
-
- /** Modify white dot details (diameter and line width).
- */
- void
- ModifyDetailsDotWhite(void);
-
- /** Handler for mouse entering control area.
- @param event Event to process.
- */
- void
- ControlMouseEnter(wxMouseEvent & event);
-
- /** Handler for mouse leaving the control area.
- @param event Event to process.
- */
- void
- ControlMouseLeave(wxMouseEvent & event);
-
- /** Handler for mouse move.
- @param event Event to process.
- */
- void
- ControlMouseMove(wxMouseEvent & event);
-
- /** Handler for left mouse button click.
- @param event Event to process.
- */
- void
- ControlLeftMouseButton(wxMouseEvent & event);
-
- /** Handler for right mouse button click.
- @param event Event to process.
- */
- void
- ControlRightMouseButton(wxMouseEvent & event);
-
- /** Handler for middle mouse button click.
- @param event Event to process.
- */
- void
- ControlMiddleMouseButton(wxMouseEvent & event);
-
- /** Handler for mouse wheell move.
- @param event Event to process.
- */
- void
- ControlMouseWheel(wxMouseEvent & event);
-
- /** Use values from horizontal scrollbar.
- */
- void
- UseScrollH(void);
-
- /** Use values from vertical scrollbar.
- */
- void
- UseScrollV(void);
-
- /** Find directory where current file is saved.
- @param dnb Buffer for directory.
- @param dnsz Size of dnb (number of wxChar).
- @param fn File name to find directory for.
- @return True on success, false on error.
- */
- bool
- FindDirectoryForFile(wxChar *dnb, size_t dnsz, wxString & fn);
-
- /** Modify a colour.
- @param ivi Index of color start in m_iv array.
- @param rdl Redraw level required by operation.
- */
- void
- ColorModify(size_t ivi, int rdl);
-
- /** Modify a colour.
- @param ivi Index of color start in m_iv array.
- @param rdl Redraw level required by operation.
- */
- void
- ColorReset(size_t ivi, int rdl);
-};
-
-
-#line 4371 "WxdkdrawFrame.wxc"
-
-
-/* vim: set ai sw=4 ts=4 : */
-
-#endif