--- /dev/null
+/*\r
+ * Kimikage NScripter Plugins Project\r
+ *\r
+ * This software is distributed under a BSD-style license.\r
+ * See license.txt for more information.\r
+ */\r
+\r
+#include "ColorBlender.h"\r
+\r
+namespace nsdfont\r
+{\r
+ ColorBlender::ColorBlender( void )\r
+ {\r
+ }\r
+\r
+ ColorBlender::~ColorBlender( void )\r
+ {\r
+ }\r
+\r
+ ColorBlender::MulTable::MulTable( void )\r
+ {\r
+ size_t i = 0;\r
+ for( int y = 0; y < 256; ++y )\r
+ {\r
+ int acc = 0;\r
+ for(;;)\r
+ {\r
+ table[i++] = static_cast<unsigned char>( (acc + 255) / 510 );\r
+ if ( (i & 0xFF) == 0 ) break;\r
+ acc += y + y;\r
+ }\r
+ }\r
+ }\r
+\r
+ ColorBlender::DivTable::DivTable( void )\r
+ {\r
+ size_t i = 0x100;\r
+ for( int divider = 1; divider < 256; ++divider )\r
+ {\r
+ const int divider2 = divider << 1;\r
+ for( int x = 0; x < 256 * 510; x += 510 )\r
+ {\r
+ // x <= divider2 \82Å\83I\81[\83o\81[\83t\83\8d\81[\r
+ table[i++] = static_cast<unsigned char>( (x + divider) / divider2 );\r
+ }\r
+ }\r
+ }\r
+ \r
+ const ColorBlender::MulTable ColorBlender::mulTable;\r
+ const ColorBlender::DivTable ColorBlender::divTable;\r
+}
\ No newline at end of file