summaryrefslogtreecommitdiff
path: root/lib/Image.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Image.cc')
-rw-r--r--lib/Image.cc176
1 files changed, 88 insertions, 88 deletions
diff --git a/lib/Image.cc b/lib/Image.cc
index 19d8aff..d098de3 100644
--- a/lib/Image.cc
+++ b/lib/Image.cc
@@ -1,88 +1,88 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "Image.h"
-#include "gettext.h"
-
-Image::Image(unsigned int ax, unsigned int ay) : x(ax), y(ay), img((Color *) malloc(x * y * sizeof(Color))) {
- Fill();
-}
-
-Image::~Image() {
- free(img);
-}
-
-bool Image::CanWrite() const {
- return false;
-}
-
-String Image::GetName() const {
- return String(_("Image ")) + x + "x" + y;
-}
-
-void Image::Fill(Color c) {
- for (unsigned int i = 0; i < x * y; i++) {
- img[i] = c;
- }
-}
-
-Color Image::GetPixel(unsigned int px, unsigned int py) const {
- if ((px >= x) || (py >= y)) {
- return Color(0, 0, 0, 0);
- }
-
- return img[x * py + px];
-}
-
-void Image::SetPixel(unsigned int px, unsigned int py, Color c) {
- if ((px >= x) || (py >= y)) {
- return;
- }
-
- img[x * py + px] = c;
-}
-
-#ifndef WORDS_BIGENDIAN
-#define WORDS_BIGENDIAN 0
-#else
-#undef WORDS_BIGENDIAN
-#define WORDS_BIGENDIAN 1
-#endif
-
-bool Image::Prepare(unsigned int f) {
- if (GetSize()) return false;
-
- switch (f) {
- case FORMAT_TGA_BASIC:
- TGAHeader Header;
- TGAFooter Footer;
-
- Header.IDLength = 0;
- Header.ColorMapType = 0;
- Header.ImageType = 2;
- Header.CM_FirstEntry = 0;
- Header.CM_Length = 0;
- Header.CM_EntrySize = 0;
- Header.IS_XOrigin = 0;
- Header.IS_YOrigin = 0;
- Header.IS_Width = WORDS_BIGENDIAN ? ((x & 0xff) << 8) | ((x & 0xff00) >> 8) : x;
- Header.IS_Height = WORDS_BIGENDIAN ? ((y & 0xff) << 8) | ((y & 0xff00) >> 8) : y;
- Header.IS_Depth = 32;
- Header.IS_Descriptor = 0x20;
-
- Footer.ExtOffset = 0;
- Footer.DevOffset = 0;
- strcpy(Footer.Sig, "TRUEVISION-XFILE.");
-
- write(&Header, sizeof(Header));
- write(img, x * y * sizeof(Color));
- write(&Footer, sizeof(Footer));
-
- return true;
-
- break;
- default:
- return false;
- }
-}
-
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "Image.h"
+#include "gettext.h"
+
+Image::Image(unsigned int ax, unsigned int ay) : x(ax), y(ay), img((Color *) malloc(x * y * sizeof(Color))) {
+ Fill();
+}
+
+Image::~Image() {
+ free(img);
+}
+
+bool Image::CanWrite() const {
+ return false;
+}
+
+String Image::GetName() const {
+ return String(_("Image ")) + x + "x" + y;
+}
+
+void Image::Fill(Color c) {
+ for (unsigned int i = 0; i < x * y; i++) {
+ img[i] = c;
+ }
+}
+
+Color Image::GetPixel(unsigned int px, unsigned int py) const {
+ if ((px >= x) || (py >= y)) {
+ return Color(0, 0, 0, 0);
+ }
+
+ return img[x * py + px];
+}
+
+void Image::SetPixel(unsigned int px, unsigned int py, Color c) {
+ if ((px >= x) || (py >= y)) {
+ return;
+ }
+
+ img[x * py + px] = c;
+}
+
+#ifndef WORDS_BIGENDIAN
+#define WORDS_BIGENDIAN 0
+#else
+#undef WORDS_BIGENDIAN
+#define WORDS_BIGENDIAN 1
+#endif
+
+bool Image::Prepare(unsigned int f) {
+ if (GetSize()) return false;
+
+ switch (f) {
+ case FORMAT_TGA_BASIC:
+ TGAHeader Header;
+ TGAFooter Footer;
+
+ Header.IDLength = 0;
+ Header.ColorMapType = 0;
+ Header.ImageType = 2;
+ Header.CM_FirstEntry = 0;
+ Header.CM_Length = 0;
+ Header.CM_EntrySize = 0;
+ Header.IS_XOrigin = 0;
+ Header.IS_YOrigin = 0;
+ Header.IS_Width = WORDS_BIGENDIAN ? ((x & 0xff) << 8) | ((x & 0xff00) >> 8) : x;
+ Header.IS_Height = WORDS_BIGENDIAN ? ((y & 0xff) << 8) | ((y & 0xff00) >> 8) : y;
+ Header.IS_Depth = 32;
+ Header.IS_Descriptor = 0x20;
+
+ Footer.ExtOffset = 0;
+ Footer.DevOffset = 0;
+ strcpy(Footer.Sig, "TRUEVISION-XFILE.");
+
+ write(&Header, sizeof(Header));
+ write(img, x * y * sizeof(Color));
+ write(&Footer, sizeof(Footer));
+
+ return true;
+
+ break;
+ default:
+ return false;
+ }
+}
+