/* gr.dc is the persistent layer. You can access it directly but two tasks accessing it simultaneously with no DCAlias() will screw-up color and stuff. */ U0 SunMoon() { I64 i, x, y, radius; AutoComplete; //AutoComplete Off WinBorder; //No Border WinMax; //Maximize window DocClear; //Clear command-line text Fs->text_attr = BLACK << 4 + WHITE; //Current CTask is Fs segment register. for (i = 0; i < 0x8000; i += 0x200) { //Sun x = 0.2 * GR_WIDTH; y = 0.5 * GR_HEIGHT; radius = 120; gr.dc->color = DKGRAY; GrCircle(gr.dc, x, y, radius); gr.dc->color =ROPF_DITHER + RED << 16 + YELLOW; GrFloodFill(gr.dc, x, y); //Moon x = 0.8 * GR_WIDTH - i / 0x200; y = 0.5 * GR_HEIGHT; radius = 75; gr.dc->color = DKGRAY; GrCircle(gr.dc, x, y, radius); //<CTRL-ALT-a> for the "pi" character. GrCircle(gr.dc, x + 0.5 * radius, y, 1.2 * radius,, pi - .31 * pi, 0.62 * pi); gr.dc->color = ROPF_PROBABILITY_DITHER + LTGRAY << 16 + BLACK; gr.dc->dither_probability_u16 = i; //U16 can be [0,65535] GrFloodFill(gr.dc,x + 0.5 * radius, y); gr.dc->dither_probability_u16 = 2 * i; //U16 can be [0,65535] GrFloodFill(gr.dc,x - 0.75 * radius, y); Refresh; //Typically 60 fps DCFill; } Fs->text_attr = WHITE << 4 + BLUE; } SunMoon;