home *** CD-ROM | disk | FTP | other *** search
- // FIGDEMO.CPP - Übung aus Kapitel 5
-
- // Zeigt die Figuren-Toolbox, die durch eine
- // neuen Typ, den Bogen, erweitert wird
-
- // mit FIGURES.OBJ und GRAPHICS.LIB linken
-
- #include "figures.h"
- #include <graphics.h>
- #include <conio.h>
-
- class Arc : public Circle
- {
- int StartAngle;
- int EndAngle;
-
- public:
- // Konstruktor
- Arc(int InitX, int InitY, int InitRadius,
- int InitStartAngle, int InitEndAngle)
- : Circle (InitX, InitY, InitRadius)
- { StartAngle = InitStartAngle;
- EndAngle = InitEndAngle;
- }
- void Show(); // dies sind virtuelle
- void Hide(); // Funktionen in Point
- };
-
- // Elementfunktionen für Arc
-
- void Arc::Show()
- {
- Visible = true;
- arc(X, Y, StartAngle, EndAngle, Radius);
- }
-
- void Arc::Hide()
- {
- int TempColor;
- TempColor = getcolor();
- setcolor (getbkcolor());
- Visible = false;
-
- // den Bogen in der Hintergrundfarbe
- // zeichnen, um ihn zu verbergen
- arc(X, Y, StartAngle, EndAngle, Radius);
- setcolor(TempColor);
- }
-
- int main() // die neue Bogenklasse testen
- {
- int graphdriver = DETECT, graphmode;
- initgraph(&graphdriver, &graphmode, "..\\bgi");
- Circle ACircle(151, 82, 50);
- Arc AnArc(151, 82, 25, 0, 190);
-
- /* Zuerst bewegen Sie mit den Pfeiltasten
- einen Bogen (5 Pixel pro Taste).
- Drücken Sie RETURN, wenn Sie das satt haben.
- Danach bewegen Sie einen Kreis (10 Pixel
- pro Pfeiltaste).
- Mit RETURN beenden Sie FIGDEMO.
- */
- AnArc.Drag(5); // Inkrement ist 5 Pixel
- AnArc.Hide();
-
- ACircle.Drag(10); // Nun 10 Pixel
-
- closegraph();
- return 0;
- }