home *** CD-ROM | disk | FTP | other *** search
- /*
- * gadgetsE.c © by Martin Steppler
- */
-
- USHORT DArrowData[] = /* Down Arrow */
- {
- 0xFFFF,0xF81F,0xF81F,0xF81F,0xF81F,0x8001,0xE007,0xF81F,0xFE7F
- };
-
- USHORT UArrowData[] = /* Up Arrow */
- {
- 0xFE7F,0xF81F,0xE007,0x8001,0xF81F,0xF81F,0xF81F,0xF81F,0xFFFF
- };
-
- struct Image Arrows[] =
- {
- {0,0,16,9,2,UArrowData,0x0001,0x0000,NULL},
- {0,0,16,9,2,DArrowData,0x0001,0x0000,NULL},
- };
-
- struct Gadget ArrowGads[] =
- {
- {
- NULL, 624, ABSMAY*8-12, 16,9, GADGIMAGE, RELVERIFY|GADGIMMEDIATE,
- BOOLGADGET|GZZGADGET,(APTR)&Arrows[0], NULL, NULL, EOS, NULL, 4, NULL
- },
- {
- &ArrowGads[0],624, ABSMAY*8-3,16,9,GADGIMAGE, RELVERIFY|GADGIMMEDIATE,
- BOOLGADGET|GZZGADGET,(APTR)&Arrows[1], NULL, NULL, EOS, NULL, 3, NULL
- }
- };
-
- struct PropInfo VertSliderSInfo = {
- AUTOKNOB|FREEVERT, /* PropInfo flags */
- -1,-1, /* horizontal and vertical pot values */
- -1,-1, /* horizontal and vertical body values */
- };
-
- struct Image Image3 =
- {0,0,7,ABSMAY*8-41-12,0, NULL,0x0000,0x0000, NULL};
-
- struct Gadget VertSlider =
- {
- &ArrowGads[1], 624,41, 16,ABSMAY*8-41-12, NULL,
- GADGIMMEDIATE|RELVERIFY,
- PROPGADGET|GZZGADGET, /* Proportional Gadget */
- (APTR)&Image3, /* Slider Imagry */
- NULL,NULL,EOS,
- (APTR)&VertSliderSInfo, /* SpecialInfo structure */
- 2, NULL
- };
-
- #define LINE_HEIGHT 9
-
- /* for showing the list information */
- int TOT_DISPLAY=ABSMAY-MIY, numentries, topentry;
-
- /* Initialize the proportional gadget
- */
-
- InitSlider(g)
- struct Gadget *g;
- {
- int oldnum=numentries;
-
- numentries=se*(SEITE+1)+ze;
- if(numentries>TOT_DISPLAY)
- {
- NewModifyProp(g,Fenster,NULL,AUTOKNOB|FREEVERT,
- NULL,((MAXBODY*topentry)/(numentries)),
- MAXBODY,((MAXBODY*TOT_DISPLAY)/numentries),1L);
- }
- else if(oldnum!=numentries)
- {
- NewModifyProp(g,Fenster,NULL,AUTOKNOB|FREEVERT,
- NULL,NULL,MAXBODY,MAXBODY,1L);
- }
- }
-
-
- /* Get the current entry, based on either the movement of the
- * proportional gadget, or the pressing of the arrow keys.
- */
-
- GetSlider(g, dir)
- struct Gadget *g;
- SHORT dir;
- {
- struct PropInfo *p;
- int oldtop=topentry, len;
-
- p=(struct PropInfo *)g->SpecialInfo;
- if(dir!=0)
- {
- if(dir==1) {
- if(y<MAY) CrsrBot();
- for(len=1; len<=MAY-MIY; len++) YZPlus();
- }
- else {
- if(y>MIY) CrsrTop();
- for(len=1; len<=MAY-MIY; len++) YZMinus();
- }
- }
- else
- {
- if(numentries>TOT_DISPLAY)
- topentry=(p->VertPot*(numentries-TOT_DISPLAY))/MAXBODY;
- else topentry=0L;
- if(oldtop!=topentry) {
- s=topentry/(SEITE+1); z=topentry%(SEITE+1); y=MIY;
- if(blo==2) {
- if(oldtop>topentry) blo=6; else blo=4;
- }
- SText(); ZSDisplay();
- }
- }
- meld=FALSE;
- }
-