summaryrefslogtreecommitdiff
path: root/lyt/materials/tevswaptable.cpp
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2010-10-08 04:53:53 +0200
committerTreeki <treeki@gmail.com>2010-10-08 04:53:53 +0200
commitd74825ae7be1cee0cfd625a79289e9494fcda661 (patch)
treef3b9a19c76734802697a6d053e24dab4a4708f38 /lyt/materials/tevswaptable.cpp
parente813d6ede6bed1e69d749bb32529d657a9d96173 (diff)
downloadLayoutStudio-d74825ae7be1cee0cfd625a79289e9494fcda661.tar.gz
LayoutStudio-d74825ae7be1cee0cfd625a79289e9494fcda661.zip
added a short-term todo list to the readme, and some more material code. three structs left! hopefully I'll have materials done tomorrow :D
Diffstat (limited to 'lyt/materials/tevswaptable.cpp')
-rw-r--r--lyt/materials/tevswaptable.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/lyt/materials/tevswaptable.cpp b/lyt/materials/tevswaptable.cpp
new file mode 100644
index 0000000..05ed497
--- /dev/null
+++ b/lyt/materials/tevswaptable.cpp
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ This file is part of LayoutStudio (http://github.com/Treeki/LayoutStudio)
+ Copyright (c) 2010 Treeki (treeki@gmail.com)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, version 2.0.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License 2.0 for more details.
+
+ You should have received a copy of the GNU General Public License 2.0
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*******************************************************************************/
+
+#include "tevswaptable.h"
+#include "../layout.h"
+
+LYTTevSwapTable::LYTTevSwapTable() {
+}
+
+void LYTTevSwapTable::dumpToDebug() {
+ qDebug() << "LYTTevSwapTable @" << (void*)this;
+
+ for (int i = 0; i < 4; i++) {
+ LYTTevSwapMode *m = &mode[i];
+ qDebug() << i << ":" << m->red << "," << m->green << "," << m->blue << "," << m->alpha;
+ }
+}
+
+
+
+void LYTTevSwapTable::writeToDataStream(QDataStream &out) {
+ for (int i = 0; i < 4; i++) {
+ quint8 val = 0;
+ val |= mode[i].red;
+ val |= (mode[i].green) << 2;
+ val |= (mode[i].blue) << 4;
+ val |= (mode[i].alpha) << 6;
+
+ out << (quint8)val;
+ }
+}
+
+
+void LYTTevSwapTable::readFromDataStream(QDataStream &in) {
+ for (int i = 0; i < 4; i++) {
+ quint8 val;
+ in >> (quint8&)val;
+
+ mode[i].red = BitExtract(val, 2, 32 - 8);
+ mode[i].green = BitExtract(val, 2, 32 - 6);
+ mode[i].blue = BitExtract(val, 2, 32 - 4);
+ mode[i].alpha = BitExtract(val, 2, 32 - 2);
+ }
+}
+
+