2 CLASS(XonoticScreenshotImage) EXTENDS(Image)
3 METHOD(XonoticScreenshotImage, configureXonoticScreenshotImage, void(entity, string))
4 METHOD(XonoticScreenshotImage, draw, void(entity))
5 ATTRIB(XonoticScreenshotImage, focusable, float, 1) // mousePress and mouseDrag work only if focusable is set
6 METHOD(XonoticScreenshotImage, mousePress, float(entity, vector))
7 METHOD(XonoticScreenshotImage, mouseDrag, float(entity, vector))
8 METHOD(XonoticScreenshotImage, mouseMove, float(entity, vector))
9 METHOD(XonoticScreenshotImage, resizeNotify, void(entity, vector, vector, vector, vector))
10 ATTRIB(XonoticScreenshotImage, realFontSize, vector, '0 0 0')
11 ATTRIB(XonoticScreenshotImage, fontSize, float, SKINFONTSIZE_NORMAL)
12 ATTRIB(XonoticScreenshotImage, showTitle, float, 1)
13 ATTRIB(XonoticScreenshotImage, screenshotTime, float, 0)
14 ATTRIB(XonoticScreenshotImage, screenshotTitle, string, string_null)
15 ENDCLASS(XonoticScreenshotImage)
16 entity makeXonoticScreenshotImage();
20 entity makeXonoticScreenshotImage()
23 me = spawnXonoticScreenshotImage();
24 me.configureXonoticScreenshotImage(me, string_null);
28 void XonoticScreenshotImage_configureXonoticScreenshotImage(entity me, string theImage)
30 me.configureImage(me, theImage);
32 me.screenshotTime = time;
34 if (me.screenshotTitle)
35 strunzone(me.screenshotTitle);
36 me.screenshotTitle = strzone(substring(me.src, 13, strlen(theImage) - 13)); //strip "/screenshots/"
39 float XonoticScreenshotImage_mousePress(entity me, vector coords)
41 return me.drag_setStartPos(me, coords);
44 float XonoticScreenshotImage_mouseDrag(entity me, vector coords)
46 return me.drag(me, coords);
49 float XonoticScreenshotImage_mouseMove(entity me, vector coords)
51 return me.drag_setStartPos(me, coords);
54 void XonoticScreenshotImage_draw(entity me)
59 SUPER(XonoticScreenshotImage).draw(me);
60 if (me.showTitle && time < me.screenshotTime + 4) // 3 seconds at full alpha, 1 second fading out
62 theAlpha = (4 - (time - me.screenshotTime));
63 draw_CenterText('0.5 0 0', me.screenshotTitle, me.realFontSize, '1 1 1', theAlpha, FALSE);
68 void XonoticScreenshotImage_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
70 SUPER(XonoticScreenshotImage).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
71 me.realFontSize_y = me.fontSize / absSize_y;
72 me.realFontSize_x = me.fontSize / absSize_x;