home *** CD-ROM | disk | FTP | other *** search
- #include "WBTRIS.h"
-
- #define beveloff 50
-
-
- __chip UWORD tileData[] = {
- 0x0080,0x7F80,0x7F80,0x7F80,0x7F80,0x7F80,0x7F80,
- 0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0x8000,
- };
-
- struct Image tile = {
- 0, 0,
- 9, 7, 2,
- tileData,
- 0x0003, 0x0000,
- NULL
- };
-
- extern BOOL UseLace;
- extern struct TextAttr helvetica13;
- extern struct TextAttr topaz8;
-
-
- void statistic(WORD WBTRIS_Window_Left, WORD WBTRIS_Window_Top, int ob1, int ob2, int ob3, int ob4, int ob5, int ob6, int ob7)
- {
- extern APTR VisualInfo;
- extern struct Screen *myscreen;
-
- struct Window *win = NULL;
- int i;
- double max=0.0;
- double laenge;
- double objects[7];
- struct IntuiText Zeile;
- char s[80];
- double summe = 0;
-
- objects[0] = ob2;
- objects[1] = ob6;
- objects[2] = ob7;
- objects[3] = ob3;
- objects[4] = ob4;
- objects[5] = ob5;
- objects[6] = ob1;
-
- Zeile.FrontPen = 1;
- Zeile.BackPen = 0;
- Zeile.DrawMode = JAM2;
- Zeile.LeftEdge = 0;
- Zeile.TopEdge = 0;
- if (UseLace)
- Zeile.ITextFont = &helvetica13;
- else
- Zeile.ITextFont = &topaz8;
- Zeile.NextText = NULL;
-
- s[0] = '\0';
-
- if (win = OpenWindowTags(NULL,
- WA_Left, WBTRIS_Window_Left,
- WA_Top, WBTRIS_Window_Top+(myscreen->Font->ta_YSize)+3,
- WA_Width, 337,
- WA_Height, 265+(myscreen->Font->ta_YSize),
- WA_CloseGadget, TRUE,
- WA_Title, "<-- Click to close",
- WA_DragBar, TRUE,
- WA_Activate, TRUE,
- WA_Flags, WFLG_DRAGBAR | WFLG_DEPTHGADGET | WFLG_WINDOWACTIVE,
- WA_IDCMP, IDCMP_CLOSEWINDOW | IDCMP_RAWKEY,
- TAG_END)) {
- DrawWin(win,VisualInfo);
- for (i=0;i<7;i++) {
- if (objects[i] > max)
- max = objects[i];
- summe = summe + objects[i];
- }
- if (summe == 0)
- summe = 0.00000001;
- if (max == 0)
- max = 1;
- for (i=0;i<7;i++) {
- laenge = 172*objects[i]/max;
- SetAPen(win->RPort,3);
- RectFill(win->RPort, 72, 35*i+23+(myscreen->Font->ta_YSize), (short)(72+laenge), 35*i+34+(myscreen->Font->ta_YSize));
- sprintf(s, "%5.1f%%", 100*objects[i]/summe);
- Zeile.IText = s;
- PrintIText(win->RPort, &Zeile, 255, 35*i+23+(myscreen->Font->ta_YSize));
- s[0] = '\0';
- }
- WaitPort(win->UserPort);
- CloseWindow(win);
- }
- }
-
-
-
- void DrawWin(struct Window *win,APTR VisualInfo)
- {
- int i,j;
- extern struct obj {
- BOOL objData[4][4];
- int color;
- };
- extern struct obj objects[8];
- short ObjNumber = 1;
-
- while (ObjNumber<=7) {
- for (i=0;i<4;i++)
- for (j=0;j<4;j++)
- if (objects[ObjNumber].objData[j][i] == 1)
- DrawImage(win->RPort,&tile,9*i+18,35*ObjNumber+7*j-20+(myscreen->Font->ta_YSize));
- DrawBevelBox(win->RPort, 15 , 35*ObjNumber-22+(myscreen->Font->ta_YSize) , 43, 32 ,GTBB_Recessed, TRUE, GT_VisualInfo, VisualInfo);
- DrawBevelBox(win->RPort, 70 , 35*ObjNumber-13+(myscreen->Font->ta_YSize) , 177, 14 ,GTBB_Recessed, TRUE, GT_VisualInfo, VisualInfo);
- ObjNumber++;
- }
- }
-