// NamedObjects.cc // Gloobs example program // // demonstrates naming of parts of Gloobs objects, for later manipulation // // by Smylers // 2000 Jan 17: original version #include int main() { using namespace Gloobs; Canvas Seascape(X11, 260, 120, "Yachts"); // define the colours used in the picture: int Sea = Seascape.ink(0.2, 0.5, 0.8); int Hull = Seascape.ink(0.7, 0.6, 0.4); int Mast = Seascape.ink(0.5, 0.3, 0.2); int Red = Seascape.ink(0.9, 0.0, 0.0); Seascape.set_background(Sea); // declare a Boat Object, and add some primitives to it for the hull and // mast: Object Boat; double HullCoords[] = { 15, 0, 5, 15, 60, 15, 50, 0 }; Boat.push_back(new Polygon(Hull, Filled, 4, HullCoords)); Boat.push_back(new Line(Mast, 4, 35, 15, 35, 60)); // declare a Triangle Primitive for the sail: Triangle* Sail = new Triangle(Red, Filled, 0, 25, 35, 60, 35, 25); // add the named Primitive to the Object: Boat.push_back(Sail); // now draw the boat on the canvas: Seascape.draw_object(Boat, 20, 20); Seascape.pause(); // define some more colours: int White = Seascape.ink(0.9, 0.9, 0.9); int Yellow = Seascape.ink(0.9, 0.9, 0.0); // change the Pen colour of the Sail Primitive: Sail->Pen = White; // now draw the Boat Object again: Seascape.draw_object(Boat, 100, 20); // and another one with a yellow sail: Sail->Pen = Yellow; Seascape.draw_object(Boat, 180, 20); Seascape.pause(); return 0; }