summaryrefslogtreecommitdiffhomepage
path: root/nGenEx/ImgView.cpp
diff options
context:
space:
mode:
authorFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2011-12-08 14:53:40 +0000
committerFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2011-12-08 14:53:40 +0000
commite33e19d0587146859d48a134ec9fd94e7b7ba5cd (patch)
tree69d048c8801858d2756ab3a487090a7a1b74bf14 /nGenEx/ImgView.cpp
downloadstarshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.zip
starshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.tar.gz
starshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.tar.bz2
Initial upload
Diffstat (limited to 'nGenEx/ImgView.cpp')
-rw-r--r--nGenEx/ImgView.cpp79
1 files changed, 79 insertions, 0 deletions
diff --git a/nGenEx/ImgView.cpp b/nGenEx/ImgView.cpp
new file mode 100644
index 0000000..7cfce10
--- /dev/null
+++ b/nGenEx/ImgView.cpp
@@ -0,0 +1,79 @@
+/* Project nGenEx
+ Destroyer Studios LLC
+ Copyright © 1997-2004. All Rights Reserved.
+
+ SUBSYSTEM: nGenEx.lib
+ FILE: ImgView.cpp
+ AUTHOR: John DiCamillo
+
+
+ OVERVIEW
+ ========
+ Bitmap "billboard" Image View class
+*/
+
+#include "MemDebug.h"
+#include "ImgView.h"
+#include "Color.h"
+#include "Window.h"
+#include "Video.h"
+#include "Bitmap.h"
+#include "Screen.h"
+
+// +--------------------------------------------------------------------+
+
+ImgView::ImgView(Window* c, Bitmap* bmp)
+ : View(c), img(bmp), width(0), height(0), x_offset(0), y_offset(0),
+ blend(Video::BLEND_SOLID)
+{
+ if (img) {
+ width = img->Width();
+ height = img->Height();
+ }
+
+ if (width < c->Width())
+ x_offset = (c->Width() - width) / 2;
+
+ if (height < c->Height())
+ y_offset = (c->Height() - height) / 2;
+}
+
+ImgView::~ImgView()
+{
+}
+
+// +--------------------------------------------------------------------+
+
+void
+ImgView::Refresh()
+{
+ if (img && width > 0 && height > 0)
+ window->DrawBitmap(x_offset,
+ y_offset,
+ x_offset + width,
+ y_offset + height,
+ img,
+ blend);
+}
+
+// +--------------------------------------------------------------------+
+
+void
+ImgView::SetPicture(Bitmap* bmp)
+{
+ img = bmp;
+ width = 0;
+ height = 0;
+ x_offset = 0;
+ y_offset = 0;
+
+ if (img) {
+ width = img->Width();
+ height = img->Height();
+ }
+
+ if (window) {
+ x_offset = (window->Width() - width) / 2;
+ y_offset = (window->Height() - height) / 2;
+ }
+}