//This is a drawing program

public U0 SpeedLineDemo()
{
        I64  message_code, count, x1, y1, x2, y2, arg1, arg2, color = BLACK;
        CDC *dc = DCAlias;

        dc->color = color;

        SettingsPush; //See SettingsPush
        Fs->win_inhibit = WIG_TASK_DEFAULT - WIF_SELF_FOCUS - WIF_SELF_BORDER;

        AutoComplete;
        WinBorder;
        WinMax;
        DocClear;
        DCFill;
        do
        {
                message_code = MessageGet(&arg1, &arg2, 1 << MESSAGE_KEY_DOWN + 1 << MESSAGE_MS_L_DOWN + 1 << MESSAGE_MS_R_UP);
                switch (message_code)
                {
                        case MESSAGE_MS_R_UP:
                                color = PopUpColor;
                                if (color >= 0)
                                        dc->color = color;
                                break;

                        case MESSAGE_MS_L_DOWN:
                                x1 = arg1;
                                y1 = arg2;
                                x2 = arg1;
                                y2 = arg2;
                                count = 0;
                                while (message_code != MESSAGE_MS_L_UP)
                                {
                                        dc->thick = 0.04 * mouse.speed;
                                        GrLine3(dc, x1, y1, 0, x2, y2, 0);
                                        message_code = MessageGet(&arg1, &arg2, 1 << MESSAGE_MS_L_UP + 1 << MESSAGE_MS_MOVE);
                                        x1 = x2;
                                        y1 = y2;
                                        x2 = arg1;
                                        y2 = arg2;
                                }
                                GrLine3(dc, x1, y1, 0, x2, y2, 0);
                                break;

                        case MESSAGE_KEY_DOWN:
                                break;
                }
        }
        while (message_code != MESSAGE_KEY_DOWN || !arg1);

        MessageGet(,, 1 << MESSAGE_KEY_UP);
        DCFill;
        DCDel(dc);
        SettingsPop;
}

SpeedLineDemo;  //Execute when #included