home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Devil's Doorknob BBS Capture (1996-2003)
/
devilsdoorknobbbscapture1996-2003.iso
/
Dloads
/
OTHERUTI
/
TCPP30-3.ZIP
/
EXAMPLES.ZIP
/
FIGDEMO.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1992-02-18
|
2KB
|
64 lines
// Borland C++ - (C) Copyright 1991 by Borland International
// FIGDEMO.CPP -- Exercise in Getting Started
// demonstrates the Figures toolbox by extending it with
// a new type Arc.
// Link with FIGURES.OBJ and GRAPHICS.LIB
#include "figures.h"
#include <graphics.h>
#include <conio.h>
class Arc : public Circle {
int StartAngle;
int EndAngle;
public:
// constructor
Arc(int InitX, int InitY, int InitRadius, int InitStartAngle, int
InitEndAngle) : Circle (InitX, InitY, InitRadius) {
StartAngle = InitStartAngle; EndAngle = InitEndAngle;}
void Show(); // these functions are virtual in Point
void Hide();
};
// Member functions for Arc
void Arc::Show()
{
Visible = true;
arc(X, Y, StartAngle, EndAngle, Radius);
}
void Arc::Hide()
{
int TempColor;
TempColor = getcolor();
setcolor (getbkcolor());
Visible = false;
// draw arc in background color to hide it
arc(X, Y, StartAngle, EndAngle, Radius);
setcolor(TempColor);
}
int main() // test the new Arc class
{
int graphdriver = DETECT, graphmode;
initgraph(&graphdriver, &graphmode, "..\\bgi");
Circle ACircle(151, 82, 50);
Arc AnArc(151, 82, 25, 0, 190);
// you first drag an arc using arrow keys (5 pixels per key)
// press Enter when tired of this!
// Now drag a circle (10 pixels per arrow key)
// Press Enter to end FIGDEMO.
AnArc.Drag(5); // drag increment is 5 pixels
AnArc.Hide();
ACircle.Drag(10); // now each drag is 10 pixels
closegraph();
return 0;
}