/* Graphics Not Rendered in HTML */ U8 *poem = "To a Waterfowl by William Cullen Bryant Whither, 'midst falling dew, While glow the heavens with the last steps of day, Far, through their rosy depths, dost thou pursue Thy solitary way? Vainly the fowler's eye Might mark thy distant flight to do thee wrong, As, darkly painted on the crimson sky, Thy figure floats along. Seek'st thou the plashy brink Of weedy lake, or marge of river wide, Or where the rocking billows rise and sink On the chafed ocean side? There is a Power whose care Teaches thy way along that pathless coast,-- The desert and illimitable air,-- Lone wandering, but not lost. All day thy wings have fann'd At that far height, the cold thin atmosphere: Yet stoop not, weary, to the welcome land, Though the dark night is near. And soon that toil shall end, Soon shalt thou find a summer home, and rest, And scream among thy fellows; reed shall bend Soon o'er thy sheltered nest. Thou'rt gone, the abyss of heaven Hath swallowed up thy form; yet, on my heart Deeply hath sunk the lesson thou hast given, And shall not soon depart. He, who, from zone to zone, Guides through the boundless sky thy certain flight, In the long way that I must tread alone, Will lead my steps aright. "; #define POEM_COLS 53 #define POEM_TIME 65.0 F64 t0; U0 DrawIt(CTask *task,CDC *dc) { I64 w = task->pix_width, h = task->pix_height; F64 t = 1.04 - (0.35 + 0.65 * Caw(tS - t0, 20)) ` 3, s = 1.0 - 0.5 * t, x = w * t, y = h * (0.35 - .1 * t); dc->color = WHITE; GrPrint(dc, w >> 1 - (POEM_COLS * FONT_WIDTH) >> 1, Caw(tS - t0, POEM_TIME) * (h - 3 * FONT_HEIGHT), poem); dc->color = BLACK; GrLine(dc, x, y, x - 8 * s, y + 6 * s * FullTri(tS, 0.4)); GrLine(dc, x, y, x + 8 * s, y + 6 * s * FullTri(tS, 0.4)); } U0 SongTask(I64) {//Song by Terry A. Davis //This specifies a callback routine //to be called when the task dies. Fs->task_end_cb = &SoundTaskEndCB; MusicSettingsReset; while (TRUE) { Play("5eEDC4B5C4B5C4BA5qReEDC4B5C"); Play("4B5C4BA5qReFEDEDEDC4qB"); Play("5ReFEDEDEDC4BqR"); } } U0 WaterFowl() { SettingsPush; //See SettingsPush Fs->song_task = Spawn(&SongTask, NULL, "Song",, Fs); AutoComplete; // WinBorder; // WinMax; WinVert(1, 60); WinHorz(1, 80); DocScroll(OFF); DocClear; t0 = tS; Fs->draw_it = &DrawIt; Sprite(<1>); "%h*c", TEXT_ROWS - 2, '\n'; DocTop; CharGet; DocClear; SettingsPop; } WaterFowl;