X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fscreenshotimage.qc;h=af987e7b58c9ab78491ef7829a8e57a1885842f5;hb=27bc18f43e9d09ffa55bca593e48e69c2c734d15;hp=a800a849486aceae4d7651f2adbaf41a4c36db40;hpb=d1ec6cd7b36e2c16817720fe5cce775fc3d26357;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/screenshotimage.qc b/qcsrc/menu/xonotic/screenshotimage.qc index a800a8494..af987e7b5 100644 --- a/qcsrc/menu/xonotic/screenshotimage.qc +++ b/qcsrc/menu/xonotic/screenshotimage.qc @@ -1,27 +1,9 @@ -#ifdef INTERFACE -CLASS(XonoticScreenshotImage) EXTENDS(XonoticImage) - METHOD(XonoticScreenshotImage, configureXonoticScreenshotImage, void(entity)) - METHOD(XonoticScreenshotImage, load, void(entity, string)) - METHOD(XonoticScreenshotImage, draw, void(entity)) - ATTRIB(XonoticScreenshotImage, focusable, float, 1) // mousePress and mouseDrag work only if focusable is set - METHOD(XonoticScreenshotImage, mousePress, float(entity, vector)) - METHOD(XonoticScreenshotImage, mouseDrag, float(entity, vector)) - METHOD(XonoticScreenshotImage, mouseMove, float(entity, vector)) - METHOD(XonoticScreenshotImage, resizeNotify, void(entity, vector, vector, vector, vector)) - ATTRIB(XonoticScreenshotImage, realFontSize, vector, '0 0 0') - ATTRIB(XonoticScreenshotImage, fontSize, float, SKINFONTSIZE_NORMAL) - ATTRIB(XonoticScreenshotImage, showTitle, float, 1) - ATTRIB(XonoticScreenshotImage, screenshotTime, float, 0) - ATTRIB(XonoticScreenshotImage, screenshotTitle, string, string_null) -ENDCLASS(XonoticScreenshotImage) -entity makeXonoticScreenshotImage(); -#endif +#include "screenshotimage.qh" -#ifdef IMPLEMENTATION entity makeXonoticScreenshotImage() { entity me; - me = spawnXonoticScreenshotImage(); + me = NEW(XonoticScreenshotImage); me.configureXonoticScreenshotImage(me); return me; } @@ -37,17 +19,15 @@ void XonoticScreenshotImage_load(entity me, string theImage) { me.screenshotTime = time; me.src = theImage; - if (me.screenshotTitle) - strunzone(me.screenshotTitle); - me.screenshotTitle = strzone(substring(me.src, 13, strlen(theImage) - 13)); //strip "/screenshots/" + strcpy(me.screenshotTitle, substring(me.src, 13, strlen(theImage) - 13)); //strip "/screenshots/" me.initZoom(me); // this image may have a different size me.setZoom(me, 0, 0); } -float XonoticScreenshotImage_mousePress(entity me, vector coords) +METHOD(XonoticScreenshotImage, mousePress, bool(XonoticScreenshotImage this, vector pos)) { - return me.drag_setStartPos(me, coords); + return this.drag_setStartPos(this, pos); } float XonoticScreenshotImage_mouseDrag(entity me, vector coords) @@ -74,12 +54,11 @@ void XonoticScreenshotImage_draw(entity me) if (time < me.zoomTime + 2) // 1 seconds at full alpha, 1 second fading out { string zoomString; - float z; - z = me.zoomFactor * 100; - if (z - floor(z) == 0) - zoomString = sprintf("%d%%", z); + float myzoom = me.zoomFactor * 100; + if (myzoom - floor(myzoom) == 0) + zoomString = sprintf("%d%%", myzoom); else - zoomString = sprintf("%.2f%%", z); + zoomString = sprintf("%.2f%%", myzoom); theAlpha = (2 - (time - me.zoomTime)); draw_Text('0.05 0.95 0', zoomString, me.realFontSize, '1 1 1', theAlpha, false); } @@ -92,4 +71,3 @@ void XonoticScreenshotImage_resizeNotify(entity me, vector relOrigin, vector rel me.realFontSize_y = me.fontSize / absSize.y; me.realFontSize_x = me.fontSize / absSize.x; } -#endif