Annotation of researchv9/jerq/src/lib/jj/movy.c, revision 1.1

1.1     ! root        1: /*% cyntax -j % && 3cc -go #.m %
        !             2:  * movy -- jerq movie editor
        !             3:  */
        !             4: #include <jerq.h>
        !             5: #include <jerqio.h>
        !             6: #define        NWIN    40
        !             7: struct win{
        !             8:        Bitmap *image;
        !             9:        struct winfns *f;
        !            10:        void *private;
        !            11: }win[NWIN];
        !            12: int nwin=0;
        !            13: struct winfns{
        !            14:        int (*input)();
        !            15:        int (*output)();
        !            16: };
        !            17: int nframe=0;
        !            18: main(){
        !            19:        register i;
        !            20:        request(KBD|MOUSE);
        !            21:        for(;;){
        !            22:                if(button3())
        !            23:                        menu3();
        !            24:                if(nwin)
        !            25:                        (*win[0].f->input)(&win[0]);
        !            26:                for(i=0;i!=nwin;i++)
        !            27:                        (*win[i].f->output)(&win[i]);
        !            28:                wait(CPU);
        !            29:        }
        !            30: }
        !            31: #include <menu.h>
        !            32: /*
        !            33:  * Button 3 menu:
        !            34:  *     M3              M3new           M3frame
        !            35:  *     +-------+       +--------+
        !            36:  *     |New  ->|-----> |playback|
        !            37:  *     |Delete |       |exposure|      +---+
        !            38:  *     |Move   |       |frame ->|----> | 1 |
        !            39:  *     |Exit   |       +--------+      | 2 |
        !            40:  *     +-------+                       | 3 |
        !            41:  *                                     | 4 |
        !            42:  *                                     | . |
        !            43:  *                                     | . |
        !            44:  *                                     | . |
        !            45:  *                                     +---+
        !            46:  */
        !            47: M3framegen(n){
        !            48:        static NMitem item;
        !            49:        static char name[10]={0, 0, 0, 0, 0, HitFrame};
        !            50:        if(++n<1 || nframe<n)
        !            51:                item.text=0;
        !            52:        else{
        !            53:                sprintf(name, "%d", n);
        !            54:                item.text=name;
        !            55:                item.data=n;
        !            56:        }
        !            57:        return &item;
        !            58: }
        !            59: NMenu M3frame={0, M3framegen};
        !            60: NMitem M3newitems={
        !            61: {"playback", 0, 0, 0, 0, HitPlayback},
        !            62: {"exposure", 0, 0, 0, 0, HitExposure},
        !            63: {"frame, 0, M3frame},
        !            64: 0
        !            65: };
        !            66: NMenu M3new={M3newitems};
        !            67: NMitem M3items[]={
        !            68:        {"New", 0, M3new},
        !            69:        {"Delete", 0, 0, 0, 0, HitDelete},
        !            70:        {"Move", 0, 0, 0, 0, HitMove},
        !            71:        {"Exit", 0, 0, 0, 0, HitExit},
        !            72:        0
        !            73: };
        !            74: NMenu M3={M3items};
        !            75: menu3(){
        !            76:        mhit(&M3, 3);
        !            77: }
        !            78:        cursswitch(t);
        !            79:        return button(b);
        !            80: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.