Removed OGL prior to re-adding; some Watcom corrections

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2000-03-03 11:10:51 +00:00
parent 422107f900
commit b14391d1c8
155 changed files with 101 additions and 30504 deletions
+64 -63
View File
@@ -1,71 +1,72 @@
src/ogl/*.cpp
src/ogl/*.h
src/ogl/*.rc
src/ogl/*.def
src/ogl/*.xbm
src/ogl/*.xpm
src/ogl/make*.*
src/ogl/*.txt
src/ogl/*.ico
src/ogl/*.bmp
contrib/src/ogl/*.cpp
contrib/src/ogl/*.h
contrib/src/ogl/*.rc
contrib/src/ogl/*.def
contrib/src/ogl/*.xbm
contrib/src/ogl/*.xpm
contrib/src/ogl/make*.*
contrib/src/ogl/*.txt
contrib/src/ogl/*.ico
contrib/src/ogl/*.bmp
include/wx/ogl/*.h
contrib/include/wx/ogl/*.h
samples/ogl/ogledit/*.cpp
samples/ogl/ogledit/*.h
samples/ogl/ogledit/*.rc
samples/ogl/ogledit/*.def
samples/ogl/ogledit/*.xbm
samples/ogl/ogledit/make*.*
samples/ogl/ogledit/Makefile
samples/ogl/ogledit/*.txt
samples/ogl/ogledit/*.ico
samples/ogl/ogledit/*.bmp
samples/ogl/ogledit/*.xpm
samples/ogl/ogledit/bitmaps/*.bmp
samples/ogl/ogledit/bitmaps/*.gif
samples/ogl/ogledit/bitmaps/*.xbm
samples/ogl/ogledit/bitmaps/*.xpm
contrib/samples/ogl/ogledit/*.cpp
contrib/samples/ogl/ogledit/*.h
contrib/samples/ogl/ogledit/*.rc
contrib/samples/ogl/ogledit/*.def
contrib/samples/ogl/ogledit/*.xbm
contrib/samples/ogl/ogledit/make*.*
contrib/samples/ogl/ogledit/Makefile
contrib/samples/ogl/ogledit/*.txt
contrib/samples/ogl/ogledit/*.ico
contrib/samples/ogl/ogledit/*.bmp
contrib/samples/ogl/ogledit/*.xpm
contrib/samples/ogl/ogledit/bitmaps/*.bmp
contrib/samples/ogl/ogledit/bitmaps/*.gif
contrib/samples/ogl/ogledit/bitmaps/*.xbm
contrib/samples/ogl/ogledit/bitmaps/*.xpm
samples/ogl/studio/*.cpp
samples/ogl/studio/*.h
samples/ogl/studio/*.rc
samples/ogl/studio/*.def
samples/ogl/studio/*.xbm
samples/ogl/studio/make*.*
samples/ogl/studio/Makefile
samples/ogl/studio/*.txt
samples/ogl/studio/*.ico
samples/ogl/studio/*.bmp
samples/ogl/studio/*.xpm
samples/ogl/studio/*.wxr
samples/ogl/studio/bitmaps/*.bmp
samples/ogl/studio/bitmaps/*.gif
samples/ogl/studio/bitmaps/*.xbm
samples/ogl/studio/bitmaps/*.xpm
samples/ogl/studio/manual/*.tex
samples/ogl/studio/manual/*.ini
samples/ogl/studio/manual/*.gif
samples/ogl/studio/manual/*.bmp
samples/ogl/studio/manual/*.htm
samples/ogl/studio/manual/*.hlp
samples/ogl/studio/manual/*.cnt
samples/ogl/studio/manual/Makefile
contrib/samples/ogl/studio/*.cpp
contrib/samples/ogl/studio/*.h
contrib/samples/ogl/studio/*.rc
contrib/samples/ogl/studio/*.def
contrib/samples/ogl/studio/*.xbm
contrib/samples/ogl/studio/make*.*
contrib/samples/ogl/studio/Makefile
contrib/samples/ogl/studio/*.txt
contrib/samples/ogl/studio/*.ico
contrib/samples/ogl/studio/*.bmp
contrib/samples/ogl/studio/*.xpm
contrib/samples/ogl/studio/*.wxr
contrib/samples/ogl/studio/bitmaps/*.bmp
contrib/samples/ogl/studio/bitmaps/*.gif
contrib/samples/ogl/studio/bitmaps/*.xbm
contrib/samples/ogl/studio/bitmaps/*.xpm
contrib/samples/ogl/studio/manual/*.tex
contrib/samples/ogl/studio/manual/*.ini
contrib/samples/ogl/studio/manual/*.gif
contrib/samples/ogl/studio/manual/*.bmp
contrib/samples/ogl/studio/manual/*.htm
contrib/samples/ogl/studio/manual/*.hlp
contrib/samples/ogl/studio/manual/*.cnt
contrib/samples/ogl/studio/manual/Makefile
contrib/docs/latex/ogl/*.txt
contrib/docs/latex/ogl/*.tex
contrib/docs/latex/ogl/*.ini
contrib/docs/latex/ogl/*.hpj
contrib/docs/latex/ogl/*.ps
contrib/docs/latex/ogl/*.eps
contrib/docs/latex/ogl/*.bmp
contrib/docs/latex/ogl/*.gif
contrib/docs/html/ogl/*.*
contrib/docs/winhelp/ogl.hlp
contrib/docs/winhelp/ogl.cnt
contrib/docs/pdf/ogl.pdf
distrib/msw/ogl.rsp
distrib/msw/zipogl.bat
docs/latex/ogl/*.txt
docs/latex/ogl/*.tex
docs/latex/ogl/*.ini
docs/latex/ogl/*.hpj
docs/latex/ogl/*.ps
docs/latex/ogl/*.eps
docs/latex/ogl/*.bmp
docs/latex/ogl/*.gif
docs/html/ogl/*.*
docs/winhelp/ogl.hlp
docs/winhelp/ogl.cnt
docs/pdf/ogl.pdf
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-53
View File
@@ -1,53 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: bmpshape.h
// Purpose: wxBitmapShape
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_BITMAP_H_
#define _OGL_BITMAP_H_
#ifdef __GNUG__
#pragma interface "bmpshape.h"
#endif
#include <wx/ogl/basic.h>
class wxBitmapShape: public wxRectangleShape
{
DECLARE_DYNAMIC_CLASS(wxBitmapShape)
public:
wxBitmapShape();
~wxBitmapShape();
void OnDraw(wxDC& dc);
#ifdef PROLOGIO
// I/O
void WriteAttributes(wxExpr *clause);
void ReadAttributes(wxExpr *clause);
#endif
// Does the copying for this object
void Copy(wxShape& copy);
void SetSize(double w, double h, bool recursive = TRUE);
inline wxBitmap& GetBitmap() const { return (wxBitmap&) m_bitmap; }
void SetBitmap(const wxBitmap& bm);
inline void SetFilename(const wxString& f) { m_filename = f; };
inline wxString GetFilename() const { return m_filename; }
private:
wxBitmap m_bitmap;
wxString m_filename;
};
#endif
// _OGL_BITMAP_H_
-83
View File
@@ -1,83 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: canvas.h
// Purpose: wxShapeCanvas
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_CANVAS_H_
#define _OGL_CANVAS_H_
#ifdef __GNUG__
#pragma interface "canvas.h"
#endif
// Drag states
#define NoDragging 0
#define StartDraggingLeft 1
#define ContinueDraggingLeft 2
#define StartDraggingRight 3
#define ContinueDraggingRight 4
// When drag_count reaches 0, process drag message
class wxDiagram;
class wxShapeCanvas: public wxScrolledWindow
{
DECLARE_DYNAMIC_CLASS(wxShapeCanvas)
public:
wxShapeCanvas(wxWindow *parent = NULL, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxBORDER | wxRETAINED);
~wxShapeCanvas();
inline void SetDiagram(wxDiagram *diag) { m_shapeDiagram = diag; }
inline wxDiagram *GetDiagram() const { return m_shapeDiagram; }
virtual void OnLeftClick(double x, double y, int keys = 0);
virtual void OnRightClick(double x, double y, int keys = 0);
virtual void OnDragLeft(bool draw, double x, double y, int keys=0); // Erase if draw false
virtual void OnBeginDragLeft(double x, double y, int keys=0);
virtual void OnEndDragLeft(double x, double y, int keys=0);
virtual void OnDragRight(bool draw, double x, double y, int keys=0); // Erase if draw false
virtual void OnBeginDragRight(double x, double y, int keys=0);
virtual void OnEndDragRight(double x, double y, int keys=0);
// Find object for mouse click, of given wxClassInfo (NULL for any type).
// If notImage is non-NULL, don't find an object that is equal to or a descendant of notImage
virtual wxShape *FindShape(double x, double y, int *attachment, wxClassInfo *info = NULL, wxShape *notImage = NULL);
wxShape *FindFirstSensitiveShape(double x, double y, int *new_attachment, int op);
wxShape *FindFirstSensitiveShape1(wxShape *image, int op);
// Redirect to wxDiagram object
virtual void AddShape(wxShape *object, wxShape *addAfter = NULL);
virtual void InsertShape(wxShape *object);
virtual void RemoveShape(wxShape *object);
virtual bool GetQuickEditMode();
virtual void Redraw(wxDC& dc);
void Snap(double *x, double *y);
// Events
void OnPaint(wxPaintEvent& event);
void OnMouseEvent(wxMouseEvent& event);
protected:
wxDiagram* m_shapeDiagram;
int m_dragState;
double m_oldDragX, m_oldDragY; // Previous drag coordinates
double m_firstDragX, m_firstDragY; // INITIAL drag coordinates
bool m_checkTolerance; // Whether to check drag tolerance
wxShape* m_draggedShape;
int m_draggedAttachment;
DECLARE_EVENT_TABLE()
};
#endif
// _OGL_CANVAS_H_
File diff suppressed because it is too large Load Diff
-87
View File
@@ -1,87 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: constrnt.h
// Purpose: OGL constraint definitions
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_CONSTRNT_H_
#define _OGL_CONSTRNT_H_
#ifdef __GNUG__
#pragma interface "constrnt.h"
#endif
/*
* OGL Constraints
*
*/
class wxOGLConstraintType: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxOGLConstraintType)
public:
wxOGLConstraintType(int type = 0, const wxString& name = "", const wxString& phrase = "");
~wxOGLConstraintType();
public:
int m_type; // E.g. gyCONSTRAINT_CENTRED_VERTICALLY
wxString m_name; // E.g. "Centre vertically"
wxString m_phrase; // E.g. "centred vertically with respect to", "left of"
};
extern wxList* wxOGLConstraintTypes;
#define gyCONSTRAINT_CENTRED_VERTICALLY 1
#define gyCONSTRAINT_CENTRED_HORIZONTALLY 2
#define gyCONSTRAINT_CENTRED_BOTH 3
#define gyCONSTRAINT_LEFT_OF 4
#define gyCONSTRAINT_RIGHT_OF 5
#define gyCONSTRAINT_ABOVE 6
#define gyCONSTRAINT_BELOW 7
#define gyCONSTRAINT_ALIGNED_TOP 8
#define gyCONSTRAINT_ALIGNED_BOTTOM 9
#define gyCONSTRAINT_ALIGNED_LEFT 10
#define gyCONSTRAINT_ALIGNED_RIGHT 11
// Like aligned, but with the objects centred on the respective edge
// of the reference object.
#define gyCONSTRAINT_MIDALIGNED_TOP 12
#define gyCONSTRAINT_MIDALIGNED_BOTTOM 13
#define gyCONSTRAINT_MIDALIGNED_LEFT 14
#define gyCONSTRAINT_MIDALIGNED_RIGHT 15
class wxOGLConstraint: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxOGLConstraint)
public:
wxOGLConstraint() { m_xSpacing = 0.0; m_ySpacing = 0.0; m_constraintType = 0; m_constraintName = ""; m_constraintId = 0;
m_constrainingObject = NULL; }
wxOGLConstraint(int type, wxShape *constraining, wxList& constrained);
~wxOGLConstraint();
// Returns TRUE if anything changed
bool Evaluate();
inline void SetSpacing(double x, double y) { m_xSpacing = x; m_ySpacing = y; };
bool Equals(double a, double b);
double m_xSpacing;
double m_ySpacing;
int m_constraintType;
wxString m_constraintName;
long m_constraintId;
wxShape* m_constrainingObject;
wxList m_constrainedObjects;
};
void OGLInitializeConstraintTypes();
void OGLCleanUpConstraintTypes();
#endif
// _OGL_CONSTRNT_H_
-75
View File
@@ -1,75 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: divided.h
// Purpose: wxDividedShape
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_DIVIDED_H_
#define _OGL_DIVIDED_H_
#ifdef __GNUG__
#pragma interface "basic.h"
#endif
/*
* Definition of a region
*
*/
/*
* Box divided into horizontal regions
*
*/
extern wxFont *g_oglNormalFont;
class wxDividedShape: public wxRectangleShape
{
DECLARE_DYNAMIC_CLASS(wxDividedShape)
public:
wxDividedShape(double w = 0.0, double h = 0.0);
~wxDividedShape();
void OnDraw(wxDC& dc);
void OnDrawContents(wxDC& dc);
void SetSize(double w, double h, bool recursive = TRUE);
void MakeControlPoints();
void ResetControlPoints();
void MakeMandatoryControlPoints();
void ResetMandatoryControlPoints();
#ifdef PROLOGIO
void WriteAttributes(wxExpr *clause);
void ReadAttributes(wxExpr *clause);
#endif
void Copy(wxShape &copy);
// Set all region sizes according to proportions and
// this object total size
void SetRegionSizes();
// Edit region colours/styles
void EditRegions();
// Attachment points correspond to regions in the divided box
bool GetAttachmentPosition(int attachment, double *x, double *y,
int nth = 0, int no_arcs = 1, wxLineShape *line = NULL);
bool AttachmentIsValid(int attachment);
int GetNumberOfAttachments() const;
// Invoke editor on CTRL-right click
void OnRightClick(double x, double y, int keys = 0, int attachment = 0);
};
#endif
// _OGL_DIVIDED_H_
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-89
View File
@@ -1,89 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: linesp.h
// Purpose: Lines private header file
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_LINESP_H_
#define _OGL_LINESP_H_
#ifdef __GNUG__
#pragma interface "linesp.h"
#endif
class wxLineShape;
class wxLineControlPoint: public wxControlPoint
{
DECLARE_DYNAMIC_CLASS(wxLineControlPoint)
friend class wxLineShape;
public:
wxLineControlPoint(wxShapeCanvas *the_canvas = NULL, wxShape *object = NULL, double size = 0.0,
double x = 0.0, double y = 0.0, int the_type = 0);
~wxLineControlPoint();
void OnDraw(wxDC& dc);
void OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
void OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
void OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
// Obsolete (left-dragging now moves attachment point to new relative position OR new
// attachment id)
#if 0
void OnDragRight(bool draw, double x, double y, int keys=0, int attachment = 0);
void OnBeginDragRight(double x, double y, int keys=0, int attachment = 0);
void OnEndDragRight(double x, double y, int keys=0, int attachment = 0);
#endif
public:
int m_type;
wxRealPoint* m_point; // Line point
wxRealPoint m_originalPos;
};
/*
* Temporary arc label object
*/
class wxLabelShape: public wxRectangleShape
{
DECLARE_DYNAMIC_CLASS(wxLabelShape)
public:
wxLabelShape(wxLineShape *parent = NULL, wxShapeRegion *region = NULL, double w = 0.0, double h = 0.0);
~wxLabelShape();
void OnDraw(wxDC& dc);
void OnDrawContents(wxDC& dc);
void OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
void OnRightClick(double x, double y, int keys = 0, int attachment = 0);
void OnDragLeft(bool draw, double x, double y, int keys=0, int attachment = 0);
void OnBeginDragLeft(double x, double y, int keys=0, int attachment = 0);
void OnEndDragLeft(double x, double y, int keys=0, int attachment = 0);
bool OnMovePre(wxDC& dc, double x, double y, double old_x, double old_y, bool display = TRUE);
public:
wxLineShape* m_lineShape;
wxShapeRegion* m_shapeRegion;
};
/*
* Get the point on the given line (x1, y1) (x2, y2)
* distance 'length' along from the end,
* returned values in x and y
*/
void GetPointOnLine(double x1, double y1, double x2, double y2,
double length, double *x, double *y);
#endif
// _OGL_LINESP_H_
File diff suppressed because it is too large Load Diff
-113
View File
@@ -1,113 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: misc.h
// Purpose: Miscellaneous utilities for OGL
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_MISC_H_
#define _OGL_MISC_H_
#ifdef __GNUG__
#pragma interface "misc.h"
#endif
// List to use when copying objects; may need to associate elements of new objects
// with elements of old objects, e.g. when copying constraint.s
extern wxList oglObjectCopyMapping;
/*
* TEXT FORMATTING FUNCTIONS
*
*/
// Centres the given list of wxShapeTextLine strings in the given box
// (changing the positions in situ). Doesn't actually draw into the DC.
void oglCentreText(wxDC& dc, wxList *text, double m_xpos, double m_ypos,
double width, double height,
int formatMode = FORMAT_CENTRE_HORIZ | FORMAT_CENTRE_VERT);
// Given a string, returns a list of strings that fit within the given
// width of box. Height is ignored.
wxStringList *oglFormatText(wxDC& dc, const wxString& text, double width, double height, int formatMode = 0);
// Centres the list of wxShapeTextLine strings, doesn't clip.
// Doesn't actually draw into the DC.
void oglCentreTextNoClipping(wxDC& dc, wxList *text_list,
double m_xpos, double m_ypos, double width, double height);
// Gets the maximum width and height of the given list of wxShapeTextLines.
void oglGetCentredTextExtent(wxDC& dc, wxList *text_list,
double m_xpos, double m_ypos, double width, double height,
double *actual_width, double *actual_height);
// Actually draw the preformatted list of wxShapeTextLines.
void oglDrawFormattedText(wxDC& context, wxList *text_list,
double m_xpos, double m_ypos, double width, double height,
int formatMode = FORMAT_CENTRE_HORIZ | FORMAT_CENTRE_VERT);
// Give it a list of points, finds the centre.
void oglFindPolylineCentroid(wxList *points, double *x, double *y);
void oglCheckLineIntersection(double x1, double y1, double x2, double y2,
double x3, double y3, double x4, double y4,
double *ratio1, double *ratio2);
void oglFindEndForPolyline(double n, double xvec[], double yvec[],
double x1, double y1, double x2, double y2, double *x3, double *y3);
void oglFindEndForBox(double width, double height,
double x1, double y1, // Centre of box (possibly)
double x2, double y2, // other end of line
double *x3, double *y3); // End on box edge
void oglFindEndForCircle(double radius,
double x1, double y1, // Centre of circle
double x2, double y2, // Other end of line
double *x3, double *y3);
void oglGetArrowPoints(double x1, double y1, double x2, double y2,
double length, double width,
double *tip_x, double *tip_y,
double *side1_x, double *side1_y,
double *side2_x, double *side2_y);
/*
* Given an ellipse and endpoints of a line, returns the point at which
* the line touches the ellipse in values x4, y4.
* This function assumes that the centre of the ellipse is at x1, y1, and the
* ellipse has a width of a1 and a height of b1. It also assumes you are
* wanting to draw an arc FROM point x2, y2 TOWARDS point x3, y3.
* This function calculates the x,y coordinates of the intersection point of
* the arc with the ellipse.
* Author: Ian Harrison
*/
void oglDrawArcToEllipse(double x1, double y1, double a1, double b1, double x2, double y2, double x3, double y3,
double *x4, double *y4);
bool oglRoughlyEqual(double val1, double val2, double tol = 0.00001);
extern wxFont* g_oglNormalFont;
extern wxPen* g_oglBlackPen;
extern wxPen* g_oglWhiteBackgroundPen;
extern wxPen* g_oglTransparentPen;
extern wxBrush* g_oglWhiteBackgroundBrush;
extern wxPen* g_oglBlackForegroundPen;
extern wxCursor* g_oglBullseyeCursor;
extern wxFont* oglMatchFont(int point_size);
extern wxString oglColourToHex(const wxColour& colour);
extern wxColour oglHexToColour(const wxString& hex);
extern void oglDecToHex(unsigned int dec, char *buf);
extern unsigned int oglHexToDec(char* buf);
#endif
// _OGL_MISC_H_
-27
View File
@@ -1,27 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: ogl.h
// Purpose: OGL main include
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_OGL_H_
#define _OGL_OGL_H_
#include <wx/ogl/basic.h> // Basic shapes
#include <wx/ogl/lines.h> // Lines and splines
#include <wx/ogl/divided.h> // Vertically-divided rectangle
#include <wx/ogl/composit.h> // Composite images
#include <wx/ogl/canvas.h> // wxShapeCanvas for displaying objects
#include <wx/ogl/ogldiag.h> // wxDiagram
// TODO: replace with wxModule implementation
extern void wxOGLInitialize();
extern void wxOGLCleanUp();
#endif
// _OGL_OGL_H_
-124
View File
@@ -1,124 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: ogldiag.h
// Purpose: OGL - wxDiagram class
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGL_OGLDIAG_H_
#define _OGL_OGLDIAG_H_
#ifdef __GNUG__
#pragma interface "ogldiag.h"
#endif
#include "basic.h"
class wxDiagram: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxDiagram)
public:
wxDiagram();
virtual ~wxDiagram();
void SetCanvas(wxShapeCanvas *can);
inline wxShapeCanvas *GetCanvas() const { return m_diagramCanvas; }
virtual void Redraw(wxDC& dc);
virtual void Clear(wxDC& dc);
virtual void DrawOutline(wxDC& dc, double x1, double y1, double x2, double y2);
// Add object to end of object list (if addAfter is NULL)
// or just after addAfter.
virtual void AddShape(wxShape *object, wxShape *addAfter = NULL);
// Add object to front of object list
virtual void InsertShape(wxShape *object);
void SetSnapToGrid(bool snap);
void SetGridSpacing(double spacing);
inline double GetGridSpacing() const { return m_gridSpacing; }
inline bool GetSnapToGrid() const { return m_snapToGrid; }
void Snap(double *x, double *y);
inline void SetQuickEditMode(bool qem) { m_quickEditMode = qem; }
inline bool GetQuickEditMode() const { return m_quickEditMode; }
virtual void RemoveShape(wxShape *object);
virtual void RemoveAllShapes();
virtual void DeleteAllShapes();
virtual void ShowAll(bool show);
// Find a shape by its id
wxShape* FindShape(long id) const;
inline void SetMouseTolerance(int tol) { m_mouseTolerance = tol; }
inline int GetMouseTolerance() const { return m_mouseTolerance; }
inline wxList *GetShapeList() const { return m_shapeList; }
inline int GetCount() const { return m_shapeList->Number(); }
// Make sure all text that should be centred, is centred.
void RecentreAll(wxDC& dc);
#ifdef PROLOGIO
virtual bool SaveFile(const wxString& filename);
virtual bool LoadFile(const wxString& filename);
virtual void ReadNodes(wxExprDatabase& database);
virtual void ReadLines(wxExprDatabase& database);
virtual void ReadContainerGeometry(wxExprDatabase& database);
// Allow for modifying file
virtual bool OnDatabaseLoad(wxExprDatabase& db);
virtual bool OnDatabaseSave(wxExprDatabase& db);
virtual bool OnShapeSave(wxExprDatabase& db, wxShape& shape, wxExpr& expr);
virtual bool OnShapeLoad(wxExprDatabase& db, wxShape& shape, wxExpr& expr);
virtual bool OnHeaderSave(wxExprDatabase& db, wxExpr& expr);
virtual bool OnHeaderLoad(wxExprDatabase& db, wxExpr& expr);
#endif
protected:
wxShapeCanvas* m_diagramCanvas;
bool m_quickEditMode;
bool m_snapToGrid;
double m_gridSpacing;
int m_mouseTolerance;
wxList* m_shapeList;
};
class wxLineCrossing: public wxObject
{
public:
wxLineCrossing() { m_lineShape1 = NULL; m_lineShape2 = NULL; }
wxRealPoint m_pt1; // First line
wxRealPoint m_pt2;
wxRealPoint m_pt3; // Second line
wxRealPoint m_pt4;
wxRealPoint m_intersect;
wxLineShape* m_lineShape1;
wxLineShape* m_lineShape2;
};
class wxLineCrossings: public wxObject
{
public:
wxLineCrossings();
~wxLineCrossings();
void FindCrossings(wxDiagram& diagram);
void DrawCrossings(wxDiagram& diagram, wxDC& dc);
void ClearCrossings();
public:
wxList m_crossings;
};
#endif
// _OGL_OGLDIAG_H_
+2 -1
View File
@@ -18,7 +18,8 @@
// only do SBCS or _UNICODE
#if defined (_MBCS )
# error "MBCS is not supported by wxChar"
// It may be OK anyway.
// # error "MBCS is not supported by wxChar"
#endif
// set wxUSE_UNICODE to 1 if UNICODE or _UNICODE is defined
-39
View File
@@ -1,39 +0,0 @@
#
# File: Makefile
# Author: Julian Smart
# Created: 1999
# Updated:
# Copyright: (c) 2000 Julian Smart
#
# Makefile for OGL demo (GTK version)
#
# This makefile requires wxWindows/GTK to be
# installed (possibly using "make install")
# on your system.
#
CPP = gcc
CC = gcc
WXCONFIG=../../../../wx-config
WXINCLUDE=-I../../../../include
WXLIB=-L../../../../lib
OBJECTS=ogledit.o palette.o doc.o view.o
ogledit: $(OBJECTS)
$(CPP) -o ogledit $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
ogledit.o: ogledit.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c ogledit.cpp
palette.o: palette.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c palette.cpp
doc.o: doc.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c doc.cpp
view.o: view.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.cpp
clean:
rm -f *.o ogledit
Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

-44
View File
@@ -1,44 +0,0 @@
/* XPM */
static char *arrow_xpm[] = {
/* columns rows colors chars-per-pixel */
"22 22 16 1",
" c Gray0",
". c #bf0000",
"X c #00bf00",
"o c #bfbf00",
"O c #0000bf",
"+ c #bf00bf",
"@ c #00bfbf",
"# c #c0c0c0",
"$ c #808080",
"% c Red",
"& c Green",
"* c Yellow",
"= c Blue",
"- c Magenta",
"; c Cyan",
": c Gray100",
/* pixels */
"######################",
"######################",
"######################",
"######################",
"######################",
"####### ##############",
"####### #############",
"####### ############",
"####### ###########",
"####### ##########",
"####### #########",
"####### ########",
"####### #######",
"####### ##########",
"####### # ##########",
"####### ### #########",
"########### #########",
"############ ########",
"############ ########",
"######################",
"######################",
"######################"
};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

-44
View File
@@ -1,44 +0,0 @@
/* XPM */
static char *tool1_xpm[] = {
/* columns rows colors chars-per-pixel */
"22 22 16 1",
" c Gray0",
". c #bf0000",
"X c #00bf00",
"o c #bfbf00",
"O c #0000bf",
"+ c #bf00bf",
"@ c #00bfbf",
"# c #c0c0c0",
"$ c #808080",
"% c Red",
"& c Green",
"* c Yellow",
"= c Blue",
"- c Magenta",
"; c Cyan",
": c Gray100",
/* pixels */
"######################",
"######################",
"# ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ##",
"######################",
"######################",
"######################"
};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

-44
View File
@@ -1,44 +0,0 @@
/* XPM */
static char *tool2_xpm[] = {
/* columns rows colors chars-per-pixel */
"22 22 16 1",
" c Gray0",
". c #bf0000",
"X c #00bf00",
"o c #bfbf00",
"O c #0000bf",
"+ c #bf00bf",
"@ c #00bfbf",
"# c #c0c0c0",
"$ c #808080",
"% c Red",
"& c Green",
"* c Yellow",
"= c Blue",
"- c Magenta",
"; c Cyan",
": c Gray100",
/* pixels */
"######################",
"######################",
"#### #####",
"### ::::::::::::: ####",
"## ::::::::::::::: ###",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"## ::::::::::::::: ###",
"### ::::::::::::: ####",
"#### #####",
"######################",
"######################",
"######################"
};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

-44
View File
@@ -1,44 +0,0 @@
/* XPM */
static char *tool3_xpm[] = {
/* columns rows colors chars-per-pixel */
"22 22 16 1",
" c Gray0",
". c #bf0000",
"X c #00bf00",
"o c #bfbf00",
"O c #0000bf",
"+ c #bf00bf",
"@ c #00bfbf",
"# c #c0c0c0",
"$ c #808080",
"% c Red",
"& c Green",
"* c Yellow",
"= c Blue",
"- c Magenta",
"; c Cyan",
": c Gray100",
/* pixels */
"######################",
"######################",
"######################",
"######################",
"####### ########",
"#### ::::::: #####",
"### ::::::::::::: ####",
"## ::::::::::::::: ###",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"# ::::::::::::::::: ##",
"## ::::::::::::::: ###",
"### ::::::::::::: ####",
"#### ::::::: #####",
"###### ########",
"######################",
"######################",
"######################",
"######################",
"######################",
"######################"
};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

-44
View File
@@ -1,44 +0,0 @@
/* XPM */
static char *tool4_xpm[] = {
/* columns rows colors chars-per-pixel */
"22 22 16 1",
" c Gray0",
". c #bf0000",
"X c #00bf00",
"o c #bfbf00",
"O c #0000bf",
"+ c #bf00bf",
"@ c #00bfbf",
"# c #c0c0c0",
"$ c #808080",
"% c Red",
"& c Green",
"* c Yellow",
"= c Blue",
"- c Magenta",
"; c Cyan",
": c Gray100",
/* pixels */
"######################",
"######################",
"######################",
"########## ##########",
"######### :: #########",
"######## :::: ########",
"####### :::::: #######",
"###### :::::::: ######",
"##### :::::::::: #####",
"#### :::::::::::: ####",
"### :::::::::::::: ###",
"### :::::::::::::: ###",
"#### :::::::::::: ####",
"##### :::::::::: #####",
"###### :::::::: ######",
"####### :::::: #######",
"######## :::: ########",
"######### :: #########",
"########## ##########",
"######################",
"######################",
"######################"
};
File diff suppressed because it is too large Load Diff
-182
View File
@@ -1,182 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: doc.h
// Purpose: Document classes
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGLSAMPLE_DOC_H_
#define _OGLSAMPLE_DOC_H_
#ifdef __GNUG__
// #pragma interface
#endif
#include <wx/docview.h>
#include <wx/string.h>
#include <wx/wxexpr.h>
#include <wx/ogl/ogl.h>
#if wxUSE_STD_IOSTREAM
class ostream;
class istream;
#endif
/*
* Override a few members for this application
*/
class MyDiagram: public wxDiagram
{
public:
MyDiagram(void) {}
bool OnShapeSave(wxExprDatabase& db, wxShape& shape, wxExpr& expr);
bool OnShapeLoad(wxExprDatabase& db, wxShape& shape, wxExpr& expr);
};
/*
* A few new shape classes so we have a 1:1 mapping
* between palette symbol and unique class
*/
class wxRoundedRectangleShape: public wxRectangleShape
{
DECLARE_DYNAMIC_CLASS(wxRoundedRectangleShape)
private:
public:
wxRoundedRectangleShape(double w = 0.0, double h = 0.0);
};
class wxDiamondShape: public wxPolygonShape
{
DECLARE_DYNAMIC_CLASS(wxDiamondShape)
private:
public:
wxDiamondShape(double w = 0.0, double h = 0.0);
};
/*
* All shape event behaviour is routed through this handler, so we don't
* have to derive from each shape class. We plug this in to each shape.
*/
class MyEvtHandler: public wxShapeEvtHandler
{
public:
wxString label;
MyEvtHandler(wxShapeEvtHandler *prev = NULL, wxShape *shape = NULL, const wxString& lab = ""):wxShapeEvtHandler(prev, shape)
{
label = lab;
}
~MyEvtHandler(void)
{
}
void OnLeftClick(double x, double y, int keys = 0, int attachment = 0);
void OnBeginDragRight(double x, double y, int keys = 0, int attachment = 0);
void OnDragRight(bool draw, double x, double y, int keys = 0, int attachment = 0);
void OnEndDragRight(double x, double y, int keys = 0, int attachment = 0);
void OnEndSize(double x, double y);
};
/*
* A diagram document, which contains a diagram.
*/
class DiagramDocument: public wxDocument
{
DECLARE_DYNAMIC_CLASS(DiagramDocument)
private:
public:
MyDiagram diagram;
DiagramDocument(void);
~DiagramDocument(void);
#if wxUSE_STD_IOSTREAM
virtual ostream& SaveObject(ostream& stream);
virtual istream& LoadObject(istream& stream);
#else
virtual wxOutputStream& SaveObject(wxOutputStream& stream);
virtual wxInputStream& LoadObject(wxInputStream& stream);
#endif
inline wxDiagram *GetDiagram() { return &diagram; }
bool OnCloseDocument(void);
};
/*
* Most user interface commands are routed through this, to give us the
* Undo/Redo mechanism. If you add more commands, such as changing the shape colour,
* you will need to add members to 'remember' what the user applied (for 'Do') and what the
* previous state was (for 'Undo').
* You can have one member for each property to be changed. Assume we also have
* a pointer member wxShape *shape, which is set to the shape being changed.
* Let's assume we're changing the shape colour. Our member for this is shapeColour.
*
* - In 'Do':
* o Set a temporary variable 'temp' to the current colour for 'shape'.
* o Change the colour to the new colour.
* o Set shapeColour to the _old_ colour, 'temp'.
* - In 'Undo':
* o Set a temporary variable 'temp' to the current colour for 'shape'.
* o Change the colour to shapeColour (the old colour).
* o Set shapeColour to 'temp'.
*
* So, as long as we have a pointer to the shape being changed,
* we only need one member variable for each property.
*
* PROBLEM: when an Add shape command is redone, the 'shape' pointer changes.
* Assume, as here, that we keep a pointer to the old shape so we reuse it
* when we recreate.
*/
class DiagramCommand: public wxCommand
{
protected:
DiagramDocument *doc;
int cmd;
wxShape *shape; // Pointer to the shape we're acting on
wxShape *fromShape;
wxShape *toShape;
wxClassInfo *shapeInfo;
double x;
double y;
bool selected;
bool deleteShape;
// Storage for property commands
wxBrush *shapeBrush;
wxPen *shapePen;
wxString shapeLabel;
public:
// Multi-purpose constructor for creating, deleting shapes
DiagramCommand(char *name, int cmd, DiagramDocument *ddoc, wxClassInfo *shapeInfo = NULL,
double x = 0.0, double y = 0.0, bool sel = FALSE, wxShape *theShape = NULL, wxShape *fs = NULL, wxShape *ts = NULL);
// Property-changing command constructors
DiagramCommand(char *name, int cmd, DiagramDocument *ddoc, wxBrush *backgroundColour, wxShape *theShape);
DiagramCommand(char *name, int cmd, DiagramDocument *ddoc, const wxString& lab, wxShape *theShape);
~DiagramCommand(void);
bool Do(void);
bool Undo(void);
inline void SetShape(wxShape *s) { shape = s; }
inline wxShape *GetShape(void) { return shape; }
inline wxShape *GetFromShape(void) { return fromShape; }
inline wxShape *GetToShape(void) { return toShape; }
inline wxClassInfo *GetShapeInfo(void) { return shapeInfo; }
inline bool GetSelected(void) { return selected; }
void RemoveLines(wxShape *shape);
};
#endif
// _OGLSAMPLE_DOC_H_
-18
View File
@@ -1,18 +0,0 @@
#
# File: makefile.b32
# Author: Julian Smart
# Created: 1999
# Updated:
# Copyright:
#
# Makefile : Builds sample for 32-bit BC++
WXDIR = $(WXWIN)
TARGET=ogledit
EXTRALIBS=$(WXDIR)\lib\ogl.lib
EXTRACPPFLAGS=-I$(WXDIR)\utils\ogl\src
OBJECTS = $(TARGET).obj doc.obj view.obj palette.obj
!include $(WXDIR)\src\makeprog.b32
-21
View File
@@ -1,21 +0,0 @@
#
# File: makefile.bcc
# Author: Julian Smart
# Created: 1998
# Updated:
#
# Builds a BC++ 16-bit sample
!if "$(WXWIN)" == ""
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
!endif
WXDIR = $(WXWIN)
TARGET=ogledit
EXTRALIBS=$(WXDIR)\lib\ogl.lib
EXTRACPPFLAGS=-I$(WXDIR)\utils\ogl\src
OBJECTS = $(TARGET).obj doc.obj view.obj palette.obj
!include $(WXDIR)\src\makeprog.b32
-103
View File
@@ -1,103 +0,0 @@
#
# File: makefile.dos
# Author: Julian Smart
# Created: 1995
# Updated:
# Copyright: (c) 1995, AIAI, University of Edinburgh
#
# "%W% %G%"
#
# Makefile : Builds OGLEdit example (MSVC++ 1.5).
# Use FINAL=1 argument to nmake to build final version with no debugging
# info
WXDIR = $(WXWIN)
!include $(WXDIR)\src\makemsc.env
THISDIR = $(WXDIR)\utils\ogl\samples\ogledit
WXLIB = $(WXDIR)\lib\wx.lib
OGLDIR = $(WXDIR)\utils\ogl
OGLINC = $(OGLDIR)\src
OGLLIB = $(OGLDIR)\lib\ogl.lib
LIBS=$(WXLIB) $(OGLLIB) oldnames libw llibcew commdlg shell ddeml
EXTRAFLAGS=/I$(OGLINC)
OBJECTS = ogledit.obj doc.obj view.obj palette.obj
all: ogledit.exe
wx:
cd $(WXDIR)\src\msw
nmake -f makefile.dos
cd $(THISDIR)
wxclean:
cd $(WXDIR)\src\msw
nmake -f makefile.dos clean
cd $(THISDIR)
ogl:
cd $(OGLDIR)\src
nmake -f makefile.dos FINAL=$(FINAL)
cd $(THISDIR)
prologio:
cd $(PROLOGDIR)\src
nmake -f makefile.dos FINAL=$(FINAL)
cd $(THISDIR)
ogledit.exe: $(WXDIR)\src\msw\dummy.obj $(WXLIB) $(OBJECTS) $(OGLLIB) ogledit.def ogledit.res
link $(LINKFLAGS) @<<
$(WXDIR)\src\msw\dummy.obj $(OBJECTS),
ogledit,
NUL,
$(LIBS),
ogledit.def
;
<<
rc -30 -K ogledit.res
ogledit.obj: ogledit.h ogledit.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
view.obj: view.h view.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
doc.obj: doc.h doc.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
palette.obj: view.h doc.h ogledit.h palette.$(SRCSUFF) $(DUMMYOBJ)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
ogledit.res : ogledit.rc $(WXDIR)\include\msw\wx.rc
rc -r /dFAFA_LIB /i$(WXDIR)\contrib\fafa /i$(WXDIR)\include\msw ogledit
clean:
-erase *.obj
-erase *.exe
-erase *.res
-erase *.map
-erase *.sbr
-erase *.pdb
cleanogl:
cd $(OGLDIR)\src
nmake -f makefile.dos clean
cd $(THISDIR)
cleanall:
cd $(OGLDIR)\src
nmake -f makefile.dos clean
cd $(THISDIR)
-18
View File
@@ -1,18 +0,0 @@
#
# File: makefile.g95
# Author: Julian Smart
# Created: 1999
# Updated:
# Copyright: (c) Julian Smart, 1999
#
# Makefile for wxWindows sample (Cygwin/Mingw32).
WXDIR = ../../../..
TARGET=ogledit
EXTRACPPFLAGS=-I../../src
EXTRALIBS=-logl
OBJECTS = $(TARGET).o doc.o view.o palette.o
include $(WXDIR)/src/makeprog.g95
-33
View File
@@ -1,33 +0,0 @@
# Symantec C++ makefile for docview example
# NOTE that peripheral libraries are now dealt in main wxWindows makefile.
WXDIR = $(WXWIN)
include $(WXDIR)\src\makesc.env
WXLIB = $(WXDIR)\lib\wx.lib
INCDIR = $(WXDIR)\include
MSWINC = $(INCDIR)\msw
BASEINC = $(INCDIR)\base
INCLUDE=$(BASEINC);$(MSWINC)
LIBS=$(WXLIB) libw.lib commdlg.lib shell.lib
OBJECTS=docview.obj view.obj doc.obj
.$(SRCSUFF).obj:
*$(CC) -c $(CFLAGS) -I$(INCLUDE) $<
.rc.res:
*$(RC) -r -I$(INCLUDE) $<
docview.exe: $(OBJECTS) docview.def docview.res
*$(CC) $(LDFLAGS) -o$@ $(OBJECTS) docview.def $(LIBS)
*$(RC) -k docview.res
clean:
-del *.obj
-del *.exe
-del *.res
-del *.map
-del *.rws
-20
View File
@@ -1,20 +0,0 @@
#
# File: makefile.unx
# Author: Julian Smart
# Created: 1998
# Updated:
# Copyright: (c) 1998 Julian Smart
#
# "%W% %G%"
#
# Makefile for OGLEdit example (UNIX).
PROGRAM=ogledit
OBJECTS=$(PROGRAM).o doc.o view.o palette.o
EXTRACPPFLAGS=-I$(WXDIR)/utils/ogl/src
EXTRALDLIBS=-logl$(GUISUFFIX)
include ../../../../src/makeprog.env
-95
View File
@@ -1,95 +0,0 @@
#
# File: makefile.vc
# Author: Julian Smart
# Created: 1993
# Updated:
# Copyright: (c) 1993, AIAI, University of Edinburgh
#
# "%W% %G%"
#
# Makefile : Builds docview example (MS VC++).
# Use FINAL=1 argument to nmake to build final version with no debugging
# info
# Set WXDIR for your system
WXDIR = $(WXWIN)
!include $(WXDIR)\src\makevc.env
THISDIR = $(WXDIR)\utils\ogl\samples\ogledit
OGLDIR = $(WXDIR)\utils\ogl
OGLINC = $(OGLDIR)\src
OGLLIB = $(WXDIR)\lib\ogl$(LIBEXT).lib
PROGRAM=ogledit
EXTRALIBS=$(OGLLIB)
EXTRAINC=/I$(OGLINC)
OBJECTS = $(PROGRAM).obj doc.obj view.obj palette.obj
$(PROGRAM): $(PROGRAM).exe
all: $(PROGRAM).exe
wx:
cd $(WXDIR)\src\msw
nmake -f makefile.vc FINAL=$(FINAL)
cd $(THISDIR)
wxclean:
cd $(WXDIR)\src\msw
nmake -f makefile.vc clean
cd $(THISDIR)
ogl:
cd $(OGLDIR)\src
nmake -f makefile.vc FINAL=$(FINAL)
cd $(THISDIR)
$(PROGRAM).exe: $(DUMMYOBJ) $(WXLIB) $(OBJECTS) $(OGLLIB) $(PROGRAM).res
$(link) @<<
-out:$(PROGRAM).exe
$(LINKFLAGS)
$(DUMMYOBJ) $(OBJECTS) $(PROGRAM).res
$(LIBS)
<<
$(PROGRAM).obj: $(PROGRAM).h doc.h view.h palette.h $(PROGRAM).$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
doc.obj: view.h doc.h doc.$(SRCSUFF) ogledit.h $(DUMMYOBJ)
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
view.obj: view.h doc.h view.$(SRCSUFF) ogledit.h $(DUMMYOBJ)
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
palette.obj: view.h doc.h ogledit.h palette.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
$(PROGRAM).res : $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc ogl.ico
$(rc) -r /i$(WXDIR)\include -fo$@ $(PROGRAM).rc
cleanogl:
cd $(OGLDIR)\src
nmake -f makefile.vc clean
cd $(THISDIR)
clean:
-erase *.obj
-erase *.sbr
-erase *.exe
-erase *.res
-erase *.map
-erase *.pdb
-44
View File
@@ -1,44 +0,0 @@
#************************************************************************
# Makefile for DOCVIEW under VMS
# by Stefan Hammes
# (incomplete) update history:
# 09.06.95
#************************************************************************
#************************************************************************
# Definition section
# (cave: definitions and includes must begin with ',')
#************************************************************************
APPOPTS =
APPDEFS =
APPINCS =
#************************************************************************
# Module section
#************************************************************************
# Name of main module
MAIN = docview
# Object modules of the application.
OBJS = docview.obj view.obj doc.obj
OBJLIST =docview.obj,view.obj,doc.obj
.include [--.src]makevms.env
# main dependency
$(MAIN).exe : $(OBJS)
$(LINK) $(LINKFLAGS) /exec=$(MAIN).exe $(OBJLIST),$(WXLIB)/lib,$(OPTSFILE)/option
- purge *.exe
#************************************************************************
# Header file depedencies following
#************************************************************************
docview.$(OBJSUFF) : docview.$(SRCSUFF) docview.h doc.h view.h
doc.$(OBJSUFF) : doc.$(SRCSUFF) doc.h
view.$(OBJSUFF) : view.$(SRCSUFF) view.h
-43
View File
@@ -1,43 +0,0 @@
#
# Makefile for WATCOM
#
# Created by D.Chubraev, chubraev@iem.ee.ethz.ch
# 8 Nov 1994
#
WXDIR = ..\..
!include $(WXDIR)\src\makewat.env
WXLIB = $(WXDIR)\lib
NAME = docview
LNK = $(name).lnk
OBJS = $(name).obj doc.obj view.obj
all: $(name).exe
$(name).exe : $(OBJS) $(name).res $(LNK) $(WXLIB)\wx$(LEVEL).lib
wlink @$(LNK)
$(BINDCOMMAND) $(name).res
$(name).res : $(name).rc $(WXDIR)\include\msw\wx.rc
$(RC) $(RESFLAGS1) $(name).rc
$(LNK) : makefile.wat
%create $(LNK)
@%append $(LNK) debug all
@%append $(LNK) system $(LINKOPTION)
@%append $(LNK) $(MINDATA)
@%append $(LNK) $(MAXDATA)
@%append $(LNK) $(STACK)
@%append $(LNK) name $(name)
@%append $(LNK) file $(WXLIB)\wx$(LEVEL).lib
@for %i in ($(EXTRALIBS)) do @%append $(LNK) file %i
@for %i in ($(OBJS)) do @%append $(LNK) file %i
thing: .SYMBOLIC
echo $(WATLIBDIR)
clean: .SYMBOLIC
-erase *.obj *.bak *.err *.pch *.lib *.lnk *.res *.exe *.rex
Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

-45
View File
@@ -1,45 +0,0 @@
/* XPM */
static char * ogl_xpm[] = {
/* width height ncolors chars_per_pixel */
"32 32 7 1",
/* colors */
" s None c None",
". c #000000",
"+ c #000080",
"@ c #ff0000",
"# c #00ff00",
"$ c #00ffff",
"% c #ffffff",
/* pixels */
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
"%............%%%%%%........%%%%%",
"%.@@@@@@@@@@.%%%%..$$$$$$$$..%%%",
"%.@@@@@@@@@@.%%%.$$$$$$$$$$$$.%%",
"%.@@@@@@@@@@.+++.$$$$$$$$$$$$.%%",
"%.@@@@@@@@@@.+++.$$$$$$$$$$$$.%%",
"%.@@@@@@@@@@.%%%.$$$$$$$$$$$$.%%",
"%.@@@@@@@@@@.%%%%..$$$$$$$$..%%%",
"%............%%%%%.........%%%%%",
"%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%",
"%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%",
"%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%",
"%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%",
"%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%",
"%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%",
"%%%%%%+.%%%%%%%%%%%%%%++%%%%%%%%",
"%%%%%%.+.%%%%%%%%%%%%.++..%%%%%%",
"%%%%%.+++.%%%%%%%%%..#####..%%%%",
"%%%%.+++++.%%%%%%%.#########.%%%",
"%%%.+++++++.%%%%%%.#########.%%%",
"%%.+++++++++.%%%%.###########.%%",
"%.+++++++++++.++++###########.%%",
"%%.+++++++++.+++++###########.%%",
"%%%.+++++++.%%%%%%.#########.%%%",
"%%%%.+++++.%%%%%%%.#########.%%%",
"%%%%%.+++.%%%%%%%%%..#####..%%%%",
"%%%%%%.+.%%%%%%%%%%%%.....%%%%%%",
"%%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%%",
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"};
File diff suppressed because it is too large Load Diff
-8
View File
@@ -1,8 +0,0 @@
NAME OGLEdit
DESCRIPTION 'OGL Editor Sample'
EXETYPE WINDOWS
STUB 'WINSTUB.EXE'
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
HEAPSIZE 1024
STACKSIZE 8192
-77
View File
@@ -1,77 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: ogledit.h
// Purpose: OGL sample
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
// #pragma interface
#endif
#ifndef _OGLSAMPLE_OGLEDIT_H_
#define _OGLSAMPLE_OGLEDIT_H_
#include <wx/docview.h>
// Define a new application
class MyFrame;
class EditorToolPalette;
class MyApp: public wxApp
{
public:
MyFrame *frame;
wxDocManager* myDocManager;
MyApp(void);
bool OnInit(void);
int OnExit(void);
// Palette stuff
EditorToolPalette *CreatePalette(wxFrame *parent);
};
DECLARE_APP(MyApp)
// Define a new frame
class MyCanvas;
class MyFrame: public wxDocParentFrame
{
DECLARE_CLASS(MyFrame)
public:
wxMenu *editMenu;
MyCanvas *canvas;
EditorToolPalette *palette;
MyFrame(wxDocManager *manager, wxFrame *parent, const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE);
MyCanvas *CreateCanvas(wxView *view, wxFrame *parent);
void OnSize(wxSizeEvent& event);
void OnCloseWindow(wxCloseEvent& event);
void OnAbout(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
extern MyFrame *GetMainFrame(void);
// Menu/undo/redo commands
#define OGLEDIT_CUT 1
#define OGLEDIT_ADD_SHAPE 2
#define OGLEDIT_ADD_LINE 3
#define OGLEDIT_EDIT_LABEL 4
#define OGLEDIT_CHANGE_BACKGROUND_COLOUR 5
#define OGLEDIT_ABOUT 100
#endif
// _OGLSAMPLE_OGLEDIT_H_
-10
View File
@@ -1,10 +0,0 @@
ogl ICON ogl.ico
TOOL1 BITMAP "bitmaps/tool1.bmp"
TOOL2 BITMAP "bitmaps/tool2.bmp"
TOOL3 BITMAP "bitmaps/tool3.bmp"
TOOL4 BITMAP "bitmaps/tool4.bmp"
ARROWTOOL BITMAP "bitmaps/arrow.bmp"
#include "wx/msw/wx.rc"
-121
View File
@@ -1,121 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: palette.cpp
// Purpose: OGLEdit palette
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
// #pragma implementation
#endif
// For compilers that support precompilation, includes "wx.h".
#include <wx/wxprec.h>
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#include <wx/toolbar.h>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include "doc.h"
#include "view.h"
#include "ogledit.h"
#include "palette.h"
// Include pixmaps
#if defined(__WXGTK__) || defined(__WXMOTIF__)
#include "bitmaps/arrow.xpm"
#include "bitmaps/tool1.xpm"
#include "bitmaps/tool2.xpm"
#include "bitmaps/tool3.xpm"
#include "bitmaps/tool4.xpm"
#endif
/*
* Object editor tool palette
*
*/
EditorToolPalette::EditorToolPalette(wxWindow* parent, const wxPoint& pos, const wxSize& size,
long style):
TOOLPALETTECLASS(parent, -1, pos, size, style)
{
currentlySelected = -1;
#if 1 // ndef __WXGTK__
SetMaxRowsCols(1000, 1);
#endif
}
bool EditorToolPalette::OnLeftClick(int toolIndex, bool toggled)
{
// BEGIN mutual exclusivity code
if (toggled && (currentlySelected != -1) && (toolIndex != currentlySelected))
ToggleTool(currentlySelected, FALSE);
if (toggled)
currentlySelected = toolIndex;
else if (currentlySelected == toolIndex)
currentlySelected = -1;
// END mutual exclusivity code
return TRUE;
}
void EditorToolPalette::OnMouseEnter(int toolIndex)
{
}
void EditorToolPalette::SetSize(int x, int y, int width, int height, int sizeFlags)
{
TOOLPALETTECLASS::SetSize(x, y, width, height, sizeFlags);
}
EditorToolPalette *MyApp::CreatePalette(wxFrame *parent)
{
// Load palette bitmaps
#ifdef __WXMSW__
wxBitmap PaletteTool1("TOOL1");
wxBitmap PaletteTool2("TOOL2");
wxBitmap PaletteTool3("TOOL3");
wxBitmap PaletteTool4("TOOL4");
wxBitmap PaletteArrow("ARROWTOOL");
#elif defined(__WXGTK__) || defined(__WXMOTIF__)
wxBitmap PaletteTool1(tool1_xpm);
wxBitmap PaletteTool2(tool2_xpm);
wxBitmap PaletteTool3(tool3_xpm);
wxBitmap PaletteTool4(tool4_xpm);
wxBitmap PaletteArrow(arrow_xpm);
#endif
EditorToolPalette *palette = new EditorToolPalette(parent, wxPoint(0, 0), wxSize(-1, -1), wxTB_HORIZONTAL);
palette->SetMargins(2, 2);
palette->SetToolBitmapSize(wxSize(22, 22));
palette->AddTool(PALETTE_ARROW, PaletteArrow, wxNullBitmap, TRUE, 0, -1, NULL, "Pointer");
palette->AddTool(PALETTE_TOOL1, PaletteTool1, wxNullBitmap, TRUE, 0, -1, NULL, "Tool 1");
palette->AddTool(PALETTE_TOOL2, PaletteTool2, wxNullBitmap, TRUE, 0, -1, NULL, "Tool 2");
palette->AddTool(PALETTE_TOOL3, PaletteTool3, wxNullBitmap, TRUE, 0, -1, NULL, "Tool 3");
palette->AddTool(PALETTE_TOOL4, PaletteTool4, wxNullBitmap, TRUE, 0, -1, NULL, "Tool 4");
palette->Realize();
palette->ToggleTool(PALETTE_ARROW, TRUE);
palette->currentlySelected = PALETTE_ARROW;
return palette;
}
-66
View File
@@ -1,66 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: palette.h
// Purpose: OGL sample palette
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGLSAMPLE_PALETTE_H_
#define _OGLSAMPLE_PALETTE_H_
#ifdef __GNUG__
// #pragma interface
#endif
#include <wx/wx.h>
#include <wx/string.h>
#if 0 // def __WXGTK__
#include <wx/toolbar.h>
#else
#include <wx/tbarsmpl.h>
#endif
/*
* Object editor tool palette
*
*/
// TODO for wxWin: wxToolBar95 cannot be moved to a non-0,0 position!
// Needs to have a parent window...
// So use a simple toolbar at present.
#if 0 // def __WXGTK__
#define TOOLPALETTECLASS wxToolBar
#else
#define TOOLPALETTECLASS wxToolBarSimple
#endif
class EditorToolPalette: public TOOLPALETTECLASS
{
public:
int currentlySelected;
EditorToolPalette(wxWindow *parent, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxTB_VERTICAL);
bool OnLeftClick(int toolIndex, bool toggled);
void OnMouseEnter(int toolIndex);
void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
};
#define PALETTE_TOOL1 1
#define PALETTE_TOOL2 2
#define PALETTE_TOOL3 3
#define PALETTE_TOOL4 4
#define PALETTE_TOOL5 5
#define PALETTE_TOOL6 6
#define PALETTE_TOOL7 7
#define PALETTE_TOOL8 8
#define PALETTE_TOOL9 9
#define PALETTE_ARROW 10
#endif
// _OGLSAMPLE_PALETTE_H_
File diff suppressed because it is too large Load Diff
-79
View File
@@ -1,79 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: view.h
// Purpose: View-related classes
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _OGLSAMPLE_VIEW_H_
#define _OGLSAMPLE_VIEW_H_
#ifdef __GNUG__
// #pragma interface "view.h"
#endif
#include "doc.h"
#include <wx/ogl/ogl.h>
class MyCanvas: public wxShapeCanvas
{
// DECLARE_DYNAMIC_CLASS(wxShapeCanvas)
protected:
public:
wxView *view;
MyCanvas(wxView *view, wxWindow *parent = NULL, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxRETAINED);
~MyCanvas(void);
void OnMouseEvent(wxMouseEvent& event);
void OnPaint(wxPaintEvent& event);
virtual void OnLeftClick(double x, double y, int keys = 0);
virtual void OnRightClick(double x, double y, int keys = 0);
virtual void OnDragLeft(bool draw, double x, double y, int keys=0); // Erase if draw false
virtual void OnBeginDragLeft(double x, double y, int keys=0);
virtual void OnEndDragLeft(double x, double y, int keys=0);
virtual void OnDragRight(bool draw, double x, double y, int keys=0); // Erase if draw false
virtual void OnBeginDragRight(double x, double y, int keys=0);
virtual void OnEndDragRight(double x, double y, int keys=0);
DECLARE_EVENT_TABLE()
};
class DiagramView: public wxView
{
DECLARE_DYNAMIC_CLASS(DiagramView)
private:
public:
wxFrame *frame;
MyCanvas *canvas;
DiagramView(void) { canvas = NULL; frame = NULL; };
~DiagramView(void) {};
bool OnCreate(wxDocument *doc, long flags);
void OnDraw(wxDC *dc);
void OnUpdate(wxView *sender, wxObject *hint = NULL);
bool OnClose(bool deleteWindow = TRUE);
wxShape *FindSelectedShape(void);
// void OnMenuCommand(int cmd);
void OnCut(wxCommandEvent& event);
void OnChangeBackgroundColour(wxCommandEvent& event);
void OnEditLabel(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
#endif
// _OGLSAMPLE_VIEW_H_
-57
View File
@@ -1,57 +0,0 @@
#
# File: Makefile
# Author: Julian Smart
# Created: 1999
# Updated:
# Copyright: (c) 2000 Julian Smart
#
# Makefile for OGL demo (GTK version)
#
# This makefile requires wxWindows/GTK to be
# installed (possibly using "make install")
# on your system.
#
CPP = gcc
CC = gcc
WXCONFIG=../../../../wx-config
WXINCLUDE=-I../../../../include
WXLIB=-L../../../../lib
OBJECTS=studio.o cspalette.o csprint.o dialogs.o doc.o mainfrm.o project.o shapes.o symbols.o view.o
studio: $(OBJECTS)
$(CPP) -o studio $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
studio.o: studio.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c studio.cpp
cspalette.o: cspalette.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c cspalette.cpp
doc.o: doc.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c doc.cpp
view.o: view.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.cpp
dialogs.o: dialogs.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c dialogs.cpp
mainfrm.o: mainfrm.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c mainfrm.cpp
project.o: project.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c project.cpp
shapes.o: shapes.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c shapes.cpp
symbols.o: symbols.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c symbols.cpp
csprint.o: csprint.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c csprint.cpp
clean:
rm -f *.o studio
-153
View File
@@ -1,153 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: cspalette.cpp
// Purpose: OGLEdit palette
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
// #pragma implementation
#endif
// For compilers that support precompilation, includes "wx.h".
#include <wx/wxprec.h>
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#include <wx/laywin.h>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include "doc.h"
#include "view.h"
#include "studio.h"
#include "cspalette.h"
#include "symbols.h"
#if defined(__WXGTK__) || defined(__WXMOTIF__)
#include "bitmaps/arrow.xpm"
#include "bitmaps/texttool.xpm"
#endif
/*
* Object editor tool palette
*
*/
csEditorToolPalette::csEditorToolPalette(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
long style):
TOOLPALETTECLASS(parent, id, pos, size, style)
{
m_currentlySelected = -1;
SetMaxRowsCols(1, 1000);
}
bool csEditorToolPalette::OnLeftClick(int toolIndex, bool toggled)
{
// BEGIN mutual exclusivity code
if (toggled && (m_currentlySelected != -1) && (toolIndex != m_currentlySelected))
ToggleTool(m_currentlySelected, FALSE);
if (toggled)
m_currentlySelected = toolIndex;
else if (m_currentlySelected == toolIndex)
m_currentlySelected = -1;
// END mutual exclusivity code
return TRUE;
}
void csEditorToolPalette::OnMouseEnter(int toolIndex)
{
wxString msg("");
if (toolIndex == PALETTE_ARROW)
msg = "Pointer";
else if (toolIndex != -1)
{
csSymbol* symbol = wxGetApp().GetSymbolDatabase()->FindSymbol(toolIndex);
if (symbol)
msg = symbol->GetName();
}
((wxFrame*) wxGetApp().GetTopWindow())->SetStatusText(msg);
}
void csEditorToolPalette::SetSize(int x, int y, int width, int height, int sizeFlags)
{
TOOLPALETTECLASS::SetSize(x, y, width, height, sizeFlags);
}
void csEditorToolPalette::SetSelection(int sel)
{
if ((sel != m_currentlySelected) && (m_currentlySelected != -1))
{
ToggleTool(m_currentlySelected, FALSE);
}
m_currentlySelected = sel;
ToggleTool(m_currentlySelected, TRUE);
}
bool csApp::CreatePalette(wxFrame *parent)
{
// First create a layout window
wxSashLayoutWindow* win = new wxSashLayoutWindow(parent, ID_LAYOUT_WINDOW_PALETTE, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D|wxCLIP_CHILDREN);
win->SetDefaultSize(wxSize(10000, 40));
win->SetOrientation(wxLAYOUT_HORIZONTAL);
win->SetAlignment(wxLAYOUT_TOP);
win->SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
win->SetSashVisible(wxSASH_BOTTOM, TRUE);
m_diagramPaletteSashWindow = win;
m_diagramPaletteSashWindow->Show(FALSE);
// Load palette bitmaps
#ifdef __WXMSW__
wxBitmap PaletteArrow("arrowtool");
wxBitmap TextTool("texttool");
#elif defined(__WXGTK__) || defined(__WXMOTIF__)
wxBitmap PaletteArrow(arrow_xpm);
wxBitmap TextTool(texttool_xpm);
#endif
csEditorToolPalette *palette = new csEditorToolPalette(m_diagramPaletteSashWindow, ID_DIAGRAM_PALETTE, wxPoint(0, 0), wxSize(-1, -1), wxTB_HORIZONTAL|wxNO_BORDER);
palette->SetMargins(2, 2);
palette->SetToolBitmapSize(wxSize(32, 32));
palette->AddTool(PALETTE_ARROW, PaletteArrow, wxNullBitmap, TRUE, 0, -1, NULL, "Pointer");
palette->AddTool(PALETTE_TEXT_TOOL, TextTool, wxNullBitmap, TRUE, 0, -1, NULL, "Text");
wxNode* node = GetSymbolDatabase()->GetSymbols().First();
while (node)
{
csSymbol* symbol = (csSymbol*) node->Data();
wxBitmap* bitmap = GetSymbolDatabase()->CreateToolBitmap(symbol);
palette->AddTool(symbol->GetToolId(), *bitmap, wxNullBitmap, TRUE, 0, -1, NULL, symbol->GetName());
delete bitmap;
node = node->Next();
}
palette->Realize();
palette->SetSelection(PALETTE_ARROW);
m_diagramPalette = palette;
return TRUE;
}
-57
View File
@@ -1,57 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: cspalette.h
// Purpose: OGL sample palette
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _STUDIO_CSPALETTE_H_
#define _STUDIO_CSPALETTE_H_
#ifdef __GNUG__
// #pragma interface
#endif
#include <wx/wx.h>
#include <wx/string.h>
#include <wx/tbarsmpl.h>
/*
* Object editor tool palette
*
*/
// TODO for wxWin: wxToolBar95 cannot be moved to a non-0,0 position!
// Needs to have a parent window...
// So use a simple toolbar at present.
#define TOOLPALETTECLASS wxToolBarSimple
class csEditorToolPalette: public TOOLPALETTECLASS
{
public:
csEditorToolPalette(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxTB_VERTICAL);
bool OnLeftClick(int toolIndex, bool toggled);
void OnMouseEnter(int toolIndex);
inline int GetSelection() const { return m_currentlySelected; }
void SetSelection(int sel);
void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
protected:
int m_currentlySelected;
};
#define PALETTE_ARROW 200
#define PALETTE_TEXT_TOOL 201
#endif
// _STUDIO_CSPALETTE_H_
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-134
View File
@@ -1,134 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: doc.h
// Purpose: Document classes
// Author: Julian Smart
// Modified by:
// Created: 12/07/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _STUDIO_DOC_H_
#define _STUDIO_DOC_H_
#ifdef __GNUG__
// #pragma interface
#endif
#include <wx/docview.h>
#include <wx/string.h>
#include <wx/wxexpr.h>
#include <wx/ogl/ogl.h>
#include "shapes.h"
/*
* A diagram document, which contains a diagram.
*/
class csDiagramDocument: public wxDocument
{
DECLARE_DYNAMIC_CLASS(csDiagramDocument)
public:
csDiagramDocument();
~csDiagramDocument();
bool OnSaveDocument(const wxString& file);
bool OnOpenDocument(const wxString& file);
inline wxDiagram *GetDiagram() { return &m_diagram; }
bool OnCloseDocument();
protected:
csDiagram m_diagram;
};
/*
Do/Undo 30/7/98
1) We have a csCommandState, and in csDiagramCommand you have a list of
these. This allows undo to work with several shapes at once.
2) Instead of storing info about each operation, e.g. separate pens, colours,
etc., we simply use a copy of the shape.
In csCommandState, we have a pointer to the actual shape in the canvas, m_currentShape.
We also have wxShape* m_shapeState which stores the requested or previous state
(depending on whether it's before the Do or after the Do.
- In Do: save a temp copy of the old m_currentShape (i.e. the state just before it's changed).
Change the data pointed to by m_currentShape to the new attributes stored in m_shapeState.
Now assign the temp copy to m_shapeState, for use in Undo.
wxShape* temp = m_currentShape->Copy(); // Take a copy of the current state
m_currentShape->Set(m_shapeState); // Apply the new state (e.g. moving, changing colour etc.)
delete m_shapeState; // Delete the previous 'old state'.
m_shapeState = temp; // Remember the new 'old state'.
*/
class csCommandState;
class csDiagramCommand: public wxCommand
{
friend class csCommandState;
public:
// Multi-purpose constructor for creating, deleting shapes
csDiagramCommand(const wxString& name, csDiagramDocument *doc,
csCommandState* onlyState = NULL); // Allow for the common case of just one state to change
~csDiagramCommand();
bool Do();
bool Undo();
// Add a state to the end of the list
void AddState(csCommandState* state);
// Insert a state at the beginning of the list
void InsertState(csCommandState* state);
// Schedule all lines connected to the states to be cut.
void RemoveLines();
// Find the state that refers to this shape
csCommandState* FindStateByShape(wxShape* shape);
wxList& GetStates() const { return (wxList&) m_states; }
protected:
csDiagramDocument* m_doc;
wxList m_states;
};
class csCommandState: public wxObject
{
friend class csDiagramCommand;
public:
csCommandState(int cmd, wxShape* savedState, wxShape* shapeOnCanvas);
~csCommandState();
bool Do();
bool Undo();
inline void SetSavedState(wxShape *s) { m_savedState = s; }
inline wxShape *GetSavedState() const { return m_savedState; }
inline void SetShapeOnCanvas(wxShape *s) { m_shapeOnCanvas = s; }
inline wxShape *GetShapeOnCanvas() const { return m_shapeOnCanvas; }
protected:
wxShape* m_savedState; // Previous state, for restoring on Undo
wxShape* m_shapeOnCanvas; // The actual shape on the canvas
csDiagramDocument* m_doc;
int m_cmd;
// These store the line ordering for the shapes at either end,
// so an un-cut line can restore the ordering properly. Otherwise
// it just adds the line at an arbitrary position.
int m_linePositionFrom;
int m_linePositionTo;
};
#endif
// _STUDIO_DOC_H_
File diff suppressed because it is too large Load Diff
-55
View File
@@ -1,55 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: mainfrm.h
// Purpose: Studio main window class
// Author: Julian Smart
// Modified by:
// Created: 27/7/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence:
/////////////////////////////////////////////////////////////////////////////
#ifndef _STUDIO_MAINFRM_H_
#define _STUDIO_MAINFRM_H_
#include <wx/docmdi.h>
class wxSashLayoutWindow;
class wxSashEvent;
class csFrame: public wxDocMDIParentFrame
{
public:
csFrame(wxDocManager *manager, wxFrame *parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style);
void OnCloseWindow(wxCloseEvent& event);
void OnSize(wxSizeEvent& event);
void OnAbout(wxCommandEvent& event);
void OnNewWindow(wxCommandEvent& event);
void OnQuit(wxCommandEvent& event);
void OnSashDragPaletteWindow(wxSashEvent& event);
void OnSashDragProjectWindow(wxSashEvent& event);
void OnIdle(wxIdleEvent& event);
void OnHelp(wxCommandEvent& event);
void OnSettings(wxCommandEvent& event);
// General handler for disabling items
void OnUpdateDisable(wxUpdateUIEvent& event);
void OnSaveUpdate(wxUpdateUIEvent& event);
DECLARE_EVENT_TABLE()
};
class csMDIChildFrame: public wxDocMDIChildFrame
{
public:
csMDIChildFrame(wxDocument* doc, wxView* view, wxMDIParentFrame *parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style);
void OnActivate(wxActivateEvent& event);
DECLARE_EVENT_TABLE()
};
#endif
// _STUDIO_MAINFRM_H_
-19
View File
@@ -1,19 +0,0 @@
#
# File: makefile.b32
# Author: Julian Smart
# Created: 1999
# Updated:
# Copyright:
#
# Makefile : Builds sample for 32-bit BC++
WXDIR = $(WXWIN)
TARGET=studio
EXTRALIBS=$(WXDIR)\lib\ogl.lib
EXTRACPPFLAGS=-I$(WXDIR)\utils\ogl\src
OBJECTS = $(TARGET).obj doc.obj shapes.obj symbols.obj view.obj cspalette.obj\
mainfrm.obj project.obj dialogs.obj csprint.obj
!include $(WXDIR)\src\makeprog.b32
-22
View File
@@ -1,22 +0,0 @@
#
# File: makefile.bcc
# Author: Julian Smart
# Created: 1998
# Updated:
#
# Builds a BC++ 16-bit sample
!if "$(WXWIN)" == ""
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
!endif
WXDIR = $(WXWIN)
TARGET=studio
EXTRALIBS=$(WXDIR)\lib\ogl.lib
EXTRACPPFLAGS=-I$(WXDIR)\utils\ogl\src
OBJECTS = $(TARGET).obj doc.obj shapes.obj symbols.obj view.obj cspalette.obj\
mainfrm.obj project.obj dialogs.obj csprint.obj
!include $(WXDIR)\src\makeprog.b32
-19
View File
@@ -1,19 +0,0 @@
#
# File: makefile.g95
# Author: Julian Smart
# Created: 1999
# Updated:
# Copyright: (c) Julian Smart, 1999
#
# Makefile for wxWindows sample (Cygwin/Mingw32).
WXDIR = ../../../..
TARGET=studio
EXTRACPPFLAGS=-I../../src
EXTRALIBS=-logl
OBJECTS = $(TARGET).o doc.o shapes.o symbols.o view.o cspalette.o\
mainfrm.o project.o dialogs.o csprint.o
include $(WXDIR)/src/makeprog.g95
-39
View File
@@ -1,39 +0,0 @@
#
# File: makefile.unx
# Author: Julian Smart
# Created: 1998
# Updated:
# Copyright: (c) 1998 Julian Smart
#
# "%W% %G%"
#
# Makefile for OGL Studio (UNIX).
PROGRAM=studio
OBJECTS=$(PROGRAM).o doc.o shapes.o symbols.o view.o cspalette.o\
mainfrm.o project.o dialogs.o csprint.o
EXTRACPPFLAGS=-I$(WXDIR)/utils/ogl/src -I./bitmaps
EXTRALDLIBS=-logl$(GUISUFFIX)
#WXDIR=/home/jacs/wx2
include $(WXDIR)/src/makeprog.env
cleanogl:
cd $(WXDIR)/utils/ogl/src; make -f makefile.unx cleanmotif
ogl:
cd $(WXDIR)/utils/ogl/src; make -f makefile.unx motif
wx:
cd $(WXDIR)/src/motif; make -f makefile.unx motif
cleanwx:
cd $(WXDIR)/src/motif; make -f makefile.unx cleanmotif
cleanall: cleanmotif cleanogl cleanwx
makeall: wx ogl motif
-143
View File
@@ -1,143 +0,0 @@
#
# File: makefile.vc
# Author: Julian Smart
# Created: 1999
# Updated:
# Copyright: (c) Julian Smart
#
# "%W% %G%"
#
# Makefile : Builds OGL studio example (MS VC++).
# Use FINAL=1 argument to nmake to build final version with no debugging
# info
# Set WXDIR for your system
WXDIR = $(WXWIN)
WXUSINGDLL=0
STUDIODIR = $(WXDIR)\utils\ogl\samples\studio
THISDIR = $(STUDIODIR)
OGLDIR = $(WXDIR)\utils\ogl
OGLINC = $(OGLDIR)\src
OGLLIB = $(WXDIR)\lib\ogl$(LIBEXT).lib
!include $(WXDIR)\src\makevc.env
EXTRALIBS=$(OGLLIB)
EXTRAINC = /I$(OGLINC)
PROGRAM=studio
OBJECTS = $(PROGRAM).obj doc.obj shapes.obj symbols.obj view.obj cspalette.obj\
mainfrm.obj project.obj dialogs.obj csprint.obj
all: ogl $(PROGRAM).exe
$(PROGRAM): $(PROGRAM).exe
cleanall: clean cleanogl # cleanidelib
cleanutils: cleanall
wx:
cd $(WXDIR)\src\msw
nmake -f makefile.vc FINAL=$(FINAL)
cd $(THISDIR)
cleanwx:
cd $(WXDIR)\src\msw
nmake -f makefile.vc clean
cd $(THISDIR)
idelib:
cd $(CLIPDIR)\IDELib\src
nmake -f makefile.vc FINAL=$(FINAL)
cd $(THISDIR)
cleanidelib:
cd $(CLIPDIR)\IDELib\src
nmake -f makefile.vc clean
cd $(THISDIR)
ogl:
cd $(OGLDIR)\src
nmake -f makefile.vc FINAL=$(FINAL)
cd $(THISDIR)
cleanogl:
cd $(OGLDIR)\src
nmake -f makefile.vc clean
cd $(THISDIR)
$(PROGRAM).exe: $(DUMMYOBJ) $(WXLIB) $(OBJECTS) $(EXTRALIBS) $(PROGRAM).res
$(link) @<<
-out:$(PROGRAM).exe
$(LINKFLAGS)
$(DUMMYOBJ) $(OBJECTS) $(PROGRAM).res
$(LIBS)
<<
$(PROGRAM).obj: $(PROGRAM).$(SRCSUFF) cspalette.h doc.h view.h $(DUMMYOBJ)
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
mainfrm.obj: mainfrm.$(SRCSUFF) mainfrm.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
cspalette.obj: cspalette.$(SRCSUFF) cspalette.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
project.obj: project.$(SRCSUFF) project.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
view.obj: view.$(SRCSUFF) view.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
doc.obj: doc.$(SRCSUFF) doc.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
shapes.obj: shapes.$(SRCSUFF) shapes.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
symbols.obj: symbols.$(SRCSUFF) symbols.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
dialogs.obj: dialogs.$(SRCSUFF) dialogs.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
csprint.obj: csprint.$(SRCSUFF) shapes.h
$(cc) @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
$(OBJECTS): shapes.h doc.h view.h mainfrm.h studio.h cspalette.h project.h symbols.h dialogs.h
$(PROGRAM).res : $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc
$(rc) -r /i$(WXDIR)\include -fo$@ $(PROGRAM).rc
clean:
-erase *.obj
-erase *.exe
-erase *.res
-erase *.map
-erase *.sbr
-erase *.pdb
Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

-23
View File
@@ -1,23 +0,0 @@
[OPTIONS]
BMROOT=. ; Assume that bitmaps are where the source is
TITLE=OGL Studio
CONTENTS=Contents
; COMPRESS=12 Hall Zeck ; Max compression, but needs lots of memory
COMPRESS=8 Zeck
LCID=0x809 0x0 0x0 ;English (British)
HLP=.\studio.hlp
[WINDOWS]
Main="",(553,102,400,600),20736,(r14876671),(r12632256),f3
[FILES]
studio.rtf
[CONFIG]
CreateButton("Up", "&Up", "JumpId(`studio.hlp', `Contents')")
BrowseButtons()
[MAP]
[BITMAPS]
File diff suppressed because it is too large Load Diff
-20
View File
@@ -1,20 +0,0 @@
; Tex2RTF initialisation file
runTwice = yes
titleFontSize = 12
authorFontSize = 10
chapterFontSize = 12
sectionFontSize = 12
subsectionFontSize = 12
headerRule = yes
footerRule = yes
useHeadingStyles = yes
contentsDepth = 2
listItemIndent=40
winHelpContents = yes
winHelpVersion = 4 ; 3 for Windows 3.x, 4 for Windows 95
winHelpTitle = "OGL Studio"
generateHPJ = yes
htmlBrowseButtons = bitmap
truncateFilenames = yes
htmlIndex = no
htmlFrameContents = no
Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Some files were not shown because too many files have changed in this diff Show More