summaryrefslogtreecommitdiff
path: root/src/graphics.h
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-03-24 19:20:49 +0100
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-03-26 07:30:39 +0000
commit4091bd9568e5aff4a1f24416d26da567a2c076ad (patch)
tree32285c49c19821d5d287fab29cf264a647735ded /src/graphics.h
parent4604ee1caf00fe1a8c095119c1046e7f625e1f0b (diff)
downloadmana-4091bd9568e5aff4a1f24416d26da567a2c076ad.tar.gz
mana-4091bd9568e5aff4a1f24416d26da567a2c076ad.tar.bz2
mana-4091bd9568e5aff4a1f24416d26da567a2c076ad.tar.xz
mana-4091bd9568e5aff4a1f24416d26da567a2c076ad.zip
Added functions to draw images at sub-pixel positions
This can be used for smoother mouse cursor movement when rendering our own mouse cursor (already changed in this commit) and is also necessary for implementing support for HiDPI font rendering. Also dropped some almost duplicated OpenGL code.
Diffstat (limited to 'src/graphics.h')
-rw-r--r--src/graphics.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/graphics.h b/src/graphics.h
index 91bb01cf..79513e2c 100644
--- a/src/graphics.h
+++ b/src/graphics.h
@@ -96,6 +96,14 @@ class Graphics : public gcn::Graphics
bool drawImage(Image *image, int x, int y);
/**
+ * Blits an image onto the screen.
+ *
+ * @return <code>true</code> if the image was blitted properly
+ * <code>false</code> otherwise.
+ */
+ bool drawImageF(Image *image, float x, float y);
+
+ /**
* Draws a rescaled version of the image.
*/
virtual bool drawRescaledImage(Image *image, int srcX, int srcY,
@@ -105,6 +113,15 @@ class Graphics : public gcn::Graphics
bool useColor = false) = 0;
/**
+ * Draws a rescaled version of the image.
+ */
+ virtual bool drawRescaledImageF(Image *image, int srcX, int srcY,
+ float dstX, float dstY,
+ int width, int height,
+ float desiredWidth, float desiredHeight,
+ bool useColor = false);
+
+ /**
* Blits an image onto the screen.
*
* @return <code>true</code> if the image was blitted properly
@@ -116,6 +133,18 @@ class Graphics : public gcn::Graphics
int width, int height,
bool useColor = false);
+ /**
+ * Blits an image onto the screen.
+ *
+ * @return <code>true</code> if the image was blitted properly
+ * <code>false</code> otherwise.
+ */
+ virtual bool drawImageF(Image *image,
+ int srcX, int srcY,
+ float dstX, float dstY,
+ int width, int height,
+ bool useColor = false);
+
virtual void drawImagePattern(Image *image,
int x, int y,
int w, int h);