change the color_ts in a better class anc rename VectorType in Vector

This commit is contained in:
Edouard DUPIN 2012-08-14 16:12:03 +02:00
parent ea19353387
commit dadd22bfe1
93 changed files with 1674 additions and 1924 deletions

View File

@ -25,350 +25,394 @@
#include <etk/Types.h>
#include <etk/Color.h>
#include <etk/DebugInternal.h>
#include <etk/tool.h>
const color_ts etk::color::color_none(0x00000000);
const color_ts etk::color::color_AliceBlue(0xF0F8FFFF);
const color_ts etk::color::color_AntiqueWhite(0xFAEBD7FF);
const color_ts etk::color::color_Aqua(0x00FFFFFF);
const color_ts etk::color::color_Aquamarine(0x7FFFD4FF);
const color_ts etk::color::color_Azure(0xF0FFFFFF);
const color_ts etk::color::color_Beige(0xF5F5DCFF);
const color_ts etk::color::color_Bisque(0xFFE4C4FF);
const color_ts etk::color::color_Black(0x000000FF);
const color_ts etk::color::color_BlanchedAlmond(0xFFEBCDFF);
const color_ts etk::color::color_Blue(0x0000FFFF);
const color_ts etk::color::color_BlueViolet(0x8A2BE2FF);
const color_ts etk::color::color_Brown(0xA52A2AFF);
const color_ts etk::color::color_BurlyWood(0xDEB887FF);
const color_ts etk::color::color_CadetBlue(0x5F9EA0FF);
const color_ts etk::color::color_Chartreuse(0x7FFF00FF);
const color_ts etk::color::color_Chocolate(0xD2691EFF);
const color_ts etk::color::color_Coral(0xFF7F50FF);
const color_ts etk::color::color_CornflowerBlue(0x6495EDFF);
const color_ts etk::color::color_Cornsilk(0xFFF8DCFF);
const color_ts etk::color::color_Crimson(0xDC143CFF);
const color_ts etk::color::color_Cyan(0x00FFFFFF);
const color_ts etk::color::color_DarkBlue(0x00008BFF);
const color_ts etk::color::color_DarkCyan(0x008B8BFF);
const color_ts etk::color::color_DarkGoldenRod(0xB8860BFF);
const color_ts etk::color::color_DarkGray(0xA9A9A9FF);
const color_ts etk::color::color_DarkGrey(0xA9A9A9FF);
const color_ts etk::color::color_DarkGreen(0x006400FF);
const color_ts etk::color::color_DarkKhaki(0xBDB76BFF);
const color_ts etk::color::color_DarkMagenta(0x8B008BFF);
const color_ts etk::color::color_DarkOliveGreen(0x556B2FFF);
const color_ts etk::color::color_Darkorange(0xFF8C00FF);
const color_ts etk::color::color_DarkOrchid(0x9932CCFF);
const color_ts etk::color::color_DarkRed(0x8B0000FF);
const color_ts etk::color::color_DarkSalmon(0xE9967AFF);
const color_ts etk::color::color_DarkSeaGreen(0x8FBC8FFF);
const color_ts etk::color::color_DarkSlateBlue(0x483D8BFF);
const color_ts etk::color::color_DarkSlateGray(0x2F4F4FFF);
const color_ts etk::color::color_DarkSlateGrey(0x2F4F4FFF);
const color_ts etk::color::color_DarkTurquoise(0x00CED1FF);
const color_ts etk::color::color_DarkViolet(0x9400D3FF);
const color_ts etk::color::color_DeepPink(0xFF1493FF);
const color_ts etk::color::color_DeepSkyBlue(0x00BFFFFF);
const color_ts etk::color::color_DimGray(0x696969FF);
const color_ts etk::color::color_DimGrey(0x696969FF);
const color_ts etk::color::color_DodgerBlue(0x1E90FFFF);
const color_ts etk::color::color_FireBrick(0xB22222FF);
const color_ts etk::color::color_FloralWhite(0xFFFAF0FF);
const color_ts etk::color::color_ForestGreen(0x228B22FF);
const color_ts etk::color::color_Fuchsia(0xFF00FFFF);
const color_ts etk::color::color_Gainsboro(0xDCDCDCFF);
const color_ts etk::color::color_GhostWhite(0xF8F8FFFF);
const color_ts etk::color::color_Gold(0xFFD700FF);
const color_ts etk::color::color_GoldenRod(0xDAA520FF);
const color_ts etk::color::color_Gray(0x808080FF);
const color_ts etk::color::color_Grey(0x808080FF);
const color_ts etk::color::color_Green(0x008000FF);
const color_ts etk::color::color_GreenYellow(0xADFF2FFF);
const color_ts etk::color::color_HoneyDew(0xF0FFF0FF);
const color_ts etk::color::color_HotPink(0xFF69B4FF);
const color_ts etk::color::color_IndianRed (0xCD5C5CFF);
const color_ts etk::color::color_Indigo (0x4B0082FF);
const color_ts etk::color::color_Ivory(0xFFFFF0FF);
const color_ts etk::color::color_Khaki(0xF0E68CFF);
const color_ts etk::color::color_Lavender(0xE6E6FAFF);
const color_ts etk::color::color_LavenderBlush(0xFFF0F5FF);
const color_ts etk::color::color_LawnGreen(0x7CFC00FF);
const color_ts etk::color::color_LemonChiffon(0xFFFACDFF);
const color_ts etk::color::color_LightBlue(0xADD8E6FF);
const color_ts etk::color::color_LightCoral(0xF08080FF);
const color_ts etk::color::color_LightCyan(0xE0FFFFFF);
const color_ts etk::color::color_LightGoldenRodYellow(0xFAFAD2FF);
const color_ts etk::color::color_LightGray(0xD3D3D3FF);
const color_ts etk::color::color_LightGrey(0xD3D3D3FF);
const color_ts etk::color::color_LightGreen(0x90EE90FF);
const color_ts etk::color::color_LightPink(0xFFB6C1FF);
const color_ts etk::color::color_LightSalmon(0xFFA07AFF);
const color_ts etk::color::color_LightSeaGreen(0x20B2AAFF);
const color_ts etk::color::color_LightSkyBlue(0x87CEFAFF);
const color_ts etk::color::color_LightSlateGray(0x778899FF);
const color_ts etk::color::color_LightSlateGrey(0x778899FF);
const color_ts etk::color::color_LightSteelBlue(0xB0C4DEFF);
const color_ts etk::color::color_LightYellow(0xFFFFE0FF);
const color_ts etk::color::color_Lime(0x00FF00FF);
const color_ts etk::color::color_LimeGreen(0x32CD32FF);
const color_ts etk::color::color_Linen(0xFAF0E6FF);
const color_ts etk::color::color_Magenta(0xFF00FFFF);
const color_ts etk::color::color_Maroon(0x800000FF);
const color_ts etk::color::color_MediumAquaMarine(0x66CDAAFF);
const color_ts etk::color::color_MediumBlue(0x0000CDFF);
const color_ts etk::color::color_MediumOrchid(0xBA55D3FF);
const color_ts etk::color::color_MediumPurple(0x9370D8FF);
const color_ts etk::color::color_MediumSeaGreen(0x3CB371FF);
const color_ts etk::color::color_MediumSlateBlue(0x7B68EEFF);
const color_ts etk::color::color_MediumSpringGreen(0x00FA9AFF);
const color_ts etk::color::color_MediumTurquoise(0x48D1CCFF);
const color_ts etk::color::color_MediumVioletRed(0xC71585FF);
const color_ts etk::color::color_MidnightBlue(0x191970FF);
const color_ts etk::color::color_MintCream(0xF5FFFAFF);
const color_ts etk::color::color_MistyRose(0xFFE4E1FF);
const color_ts etk::color::color_Moccasin(0xFFE4B5FF);
const color_ts etk::color::color_NavajoWhite(0xFFDEADFF);
const color_ts etk::color::color_Navy(0x000080FF);
const color_ts etk::color::color_OldLace(0xFDF5E6FF);
const color_ts etk::color::color_Olive(0x808000FF);
const color_ts etk::color::color_OliveDrab(0x6B8E23FF);
const color_ts etk::color::color_Orange(0xFFA500FF);
const color_ts etk::color::color_OrangeRed(0xFF4500FF);
const color_ts etk::color::color_Orchid(0xDA70D6FF);
const color_ts etk::color::color_PaleGoldenRod(0xEEE8AAFF);
const color_ts etk::color::color_PaleGreen(0x98FB98FF);
const color_ts etk::color::color_PaleTurquoise(0xAFEEEEFF);
const color_ts etk::color::color_PaleVioletRed(0xD87093FF);
const color_ts etk::color::color_PapayaWhip(0xFFEFD5FF);
const color_ts etk::color::color_PeachPuff(0xFFDAB9FF);
const color_ts etk::color::color_Peru(0xCD853FFF);
const color_ts etk::color::color_Pink(0xFFC0CBFF);
const color_ts etk::color::color_Plum(0xDDA0DDFF);
const color_ts etk::color::color_PowderBlue(0xB0E0E6FF);
const color_ts etk::color::color_Purple(0x800080FF);
const color_ts etk::color::color_Red(0xFF0000FF);
const color_ts etk::color::color_RosyBrown(0xBC8F8FFF);
const color_ts etk::color::color_RoyalBlue(0x4169E1FF);
const color_ts etk::color::color_SaddleBrown(0x8B4513FF);
const color_ts etk::color::color_Salmon(0xFA8072FF);
const color_ts etk::color::color_SandyBrown(0xF4A460FF);
const color_ts etk::color::color_SeaGreen(0x2E8B57FF);
const color_ts etk::color::color_SeaShell(0xFFF5EEFF);
const color_ts etk::color::color_Sienna(0xA0522DFF);
const color_ts etk::color::color_Silver(0xC0C0C0FF);
const color_ts etk::color::color_SkyBlue(0x87CEEBFF);
const color_ts etk::color::color_SlateBlue(0x6A5ACDFF);
const color_ts etk::color::color_SlateGray(0x708090FF);
const color_ts etk::color::color_SlateGrey(0x708090FF);
const color_ts etk::color::color_Snow(0xFFFAFAFF);
const color_ts etk::color::color_SpringGreen(0x00FF7FFF);
const color_ts etk::color::color_SteelBlue(0x4682B4FF);
const color_ts etk::color::color_Tan(0xD2B48CFF);
const color_ts etk::color::color_Teal(0x008080FF);
const color_ts etk::color::color_Thistle(0xD8BFD8FF);
const color_ts etk::color::color_Tomato(0xFF6347FF);
const color_ts etk::color::color_Turquoise(0x40E0D0FF);
const color_ts etk::color::color_Violet(0xEE82EEFF);
const color_ts etk::color::color_Wheat(0xF5DEB3FF);
const color_ts etk::color::color_White(0xFFFFFFFF);
const color_ts etk::color::color_WhiteSmoke(0xF5F5F5FF);
const color_ts etk::color::color_Yellow(0xFFFF00FF);
const color_ts etk::color::color_YellowGreen(0x9ACD32FF);
const etk::Color etk::color::none((uint32_t)0x00000000);
const etk::Color etk::color::aliceBlue((uint32_t)0xF0F8FFFF);
const etk::Color etk::color::antiqueWhite((uint32_t)0xFAEBD7FF);
const etk::Color etk::color::aqua((uint32_t)0x00FFFFFF);
const etk::Color etk::color::aquamarine((uint32_t)0x7FFFD4FF);
const etk::Color etk::color::azure((uint32_t)0xF0FFFFFF);
const etk::Color etk::color::beige((uint32_t)0xF5F5DCFF);
const etk::Color etk::color::bisque((uint32_t)0xFFE4C4FF);
const etk::Color etk::color::black((uint32_t)0x000000FF);
const etk::Color etk::color::blanchedAlmond((uint32_t)0xFFEBCDFF);
const etk::Color etk::color::blue((uint32_t)0x0000FFFF);
const etk::Color etk::color::blueViolet((uint32_t)0x8A2BE2FF);
const etk::Color etk::color::brown((uint32_t)0xA52A2AFF);
const etk::Color etk::color::burlyWood((uint32_t)0xDEB887FF);
const etk::Color etk::color::cadetBlue((uint32_t)0x5F9EA0FF);
const etk::Color etk::color::chartreuse((uint32_t)0x7FFF00FF);
const etk::Color etk::color::chocolate((uint32_t)0xD2691EFF);
const etk::Color etk::color::coral((uint32_t)0xFF7F50FF);
const etk::Color etk::color::cornflowerBlue((uint32_t)0x6495EDFF);
const etk::Color etk::color::cornsilk((uint32_t)0xFFF8DCFF);
const etk::Color etk::color::crimson((uint32_t)0xDC143CFF);
const etk::Color etk::color::cyan((uint32_t)0x00FFFFFF);
const etk::Color etk::color::darkBlue((uint32_t)0x00008BFF);
const etk::Color etk::color::darkCyan((uint32_t)0x008B8BFF);
const etk::Color etk::color::darkGoldenRod((uint32_t)0xB8860BFF);
const etk::Color etk::color::darkGray((uint32_t)0xA9A9A9FF);
const etk::Color etk::color::darkGrey((uint32_t)0xA9A9A9FF);
const etk::Color etk::color::darkGreen((uint32_t)0x006400FF);
const etk::Color etk::color::darkKhaki((uint32_t)0xBDB76BFF);
const etk::Color etk::color::darkMagenta((uint32_t)0x8B008BFF);
const etk::Color etk::color::darkOliveGreen((uint32_t)0x556B2FFF);
const etk::Color etk::color::darkorange((uint32_t)0xFF8C00FF);
const etk::Color etk::color::darkOrchid((uint32_t)0x9932CCFF);
const etk::Color etk::color::darkRed((uint32_t)0x8B0000FF);
const etk::Color etk::color::darkSalmon((uint32_t)0xE9967AFF);
const etk::Color etk::color::darkSeaGreen((uint32_t)0x8FBC8FFF);
const etk::Color etk::color::darkSlateBlue((uint32_t)0x483D8BFF);
const etk::Color etk::color::darkSlateGray((uint32_t)0x2F4F4FFF);
const etk::Color etk::color::darkSlateGrey((uint32_t)0x2F4F4FFF);
const etk::Color etk::color::darkTurquoise((uint32_t)0x00CED1FF);
const etk::Color etk::color::darkViolet((uint32_t)0x9400D3FF);
const etk::Color etk::color::deepPink((uint32_t)0xFF1493FF);
const etk::Color etk::color::deepSkyBlue((uint32_t)0x00BFFFFF);
const etk::Color etk::color::dimGray((uint32_t)0x696969FF);
const etk::Color etk::color::dimGrey((uint32_t)0x696969FF);
const etk::Color etk::color::dodgerBlue((uint32_t)0x1E90FFFF);
const etk::Color etk::color::fireBrick((uint32_t)0xB22222FF);
const etk::Color etk::color::floralWhite((uint32_t)0xFFFAF0FF);
const etk::Color etk::color::forestGreen((uint32_t)0x228B22FF);
const etk::Color etk::color::fuchsia((uint32_t)0xFF00FFFF);
const etk::Color etk::color::gainsboro((uint32_t)0xDCDCDCFF);
const etk::Color etk::color::ghostWhite((uint32_t)0xF8F8FFFF);
const etk::Color etk::color::gold((uint32_t)0xFFD700FF);
const etk::Color etk::color::goldenRod((uint32_t)0xDAA520FF);
const etk::Color etk::color::gray((uint32_t)0x808080FF);
const etk::Color etk::color::grey((uint32_t)0x808080FF);
const etk::Color etk::color::green((uint32_t)0x008000FF);
const etk::Color etk::color::greenYellow((uint32_t)0xADFF2FFF);
const etk::Color etk::color::honeyDew((uint32_t)0xF0FFF0FF);
const etk::Color etk::color::hotPink((uint32_t)0xFF69B4FF);
const etk::Color etk::color::indianRed ((uint32_t)0xCD5C5CFF);
const etk::Color etk::color::indigo ((uint32_t)0x4B0082FF);
const etk::Color etk::color::ivory((uint32_t)0xFFFFF0FF);
const etk::Color etk::color::khaki((uint32_t)0xF0E68CFF);
const etk::Color etk::color::lavender((uint32_t)0xE6E6FAFF);
const etk::Color etk::color::lavenderBlush((uint32_t)0xFFF0F5FF);
const etk::Color etk::color::lawnGreen((uint32_t)0x7CFC00FF);
const etk::Color etk::color::lemonChiffon((uint32_t)0xFFFACDFF);
const etk::Color etk::color::lightBlue((uint32_t)0xADD8E6FF);
const etk::Color etk::color::lightCoral((uint32_t)0xF08080FF);
const etk::Color etk::color::lightCyan((uint32_t)0xE0FFFFFF);
const etk::Color etk::color::lightGoldenRodYellow((uint32_t)0xFAFAD2FF);
const etk::Color etk::color::lightGray((uint32_t)0xD3D3D3FF);
const etk::Color etk::color::lightGrey((uint32_t)0xD3D3D3FF);
const etk::Color etk::color::lightGreen((uint32_t)0x90EE90FF);
const etk::Color etk::color::lightPink((uint32_t)0xFFB6C1FF);
const etk::Color etk::color::lightSalmon((uint32_t)0xFFA07AFF);
const etk::Color etk::color::lightSeaGreen((uint32_t)0x20B2AAFF);
const etk::Color etk::color::lightSkyBlue((uint32_t)0x87CEFAFF);
const etk::Color etk::color::lightSlateGray((uint32_t)0x778899FF);
const etk::Color etk::color::lightSlateGrey((uint32_t)0x778899FF);
const etk::Color etk::color::lightSteelBlue((uint32_t)0xB0C4DEFF);
const etk::Color etk::color::lightYellow((uint32_t)0xFFFFE0FF);
const etk::Color etk::color::lime((uint32_t)0x00FF00FF);
const etk::Color etk::color::limeGreen((uint32_t)0x32CD32FF);
const etk::Color etk::color::linen((uint32_t)0xFAF0E6FF);
const etk::Color etk::color::magenta((uint32_t)0xFF00FFFF);
const etk::Color etk::color::maroon((uint32_t)0x800000FF);
const etk::Color etk::color::mediumAquaMarine((uint32_t)0x66CDAAFF);
const etk::Color etk::color::mediumBlue((uint32_t)0x0000CDFF);
const etk::Color etk::color::mediumOrchid((uint32_t)0xBA55D3FF);
const etk::Color etk::color::mediumPurple((uint32_t)0x9370D8FF);
const etk::Color etk::color::mediumSeaGreen((uint32_t)0x3CB371FF);
const etk::Color etk::color::mediumSlateBlue((uint32_t)0x7B68EEFF);
const etk::Color etk::color::mediumSpringGreen((uint32_t)0x00FA9AFF);
const etk::Color etk::color::mediumTurquoise((uint32_t)0x48D1CCFF);
const etk::Color etk::color::mediumVioletRed((uint32_t)0xC71585FF);
const etk::Color etk::color::midnightBlue((uint32_t)0x191970FF);
const etk::Color etk::color::mintCream((uint32_t)0xF5FFFAFF);
const etk::Color etk::color::mistyRose((uint32_t)0xFFE4E1FF);
const etk::Color etk::color::moccasin((uint32_t)0xFFE4B5FF);
const etk::Color etk::color::navajoWhite((uint32_t)0xFFDEADFF);
const etk::Color etk::color::navy((uint32_t)0x000080FF);
const etk::Color etk::color::oldLace((uint32_t)0xFDF5E6FF);
const etk::Color etk::color::olive((uint32_t)0x808000FF);
const etk::Color etk::color::oliveDrab((uint32_t)0x6B8E23FF);
const etk::Color etk::color::orange((uint32_t)0xFFA500FF);
const etk::Color etk::color::orangeRed((uint32_t)0xFF4500FF);
const etk::Color etk::color::orchid((uint32_t)0xDA70D6FF);
const etk::Color etk::color::paleGoldenRod((uint32_t)0xEEE8AAFF);
const etk::Color etk::color::paleGreen((uint32_t)0x98FB98FF);
const etk::Color etk::color::paleTurquoise((uint32_t)0xAFEEEEFF);
const etk::Color etk::color::paleVioletRed((uint32_t)0xD87093FF);
const etk::Color etk::color::papayaWhip((uint32_t)0xFFEFD5FF);
const etk::Color etk::color::peachPuff((uint32_t)0xFFDAB9FF);
const etk::Color etk::color::peru((uint32_t)0xCD853FFF);
const etk::Color etk::color::pink((uint32_t)0xFFC0CBFF);
const etk::Color etk::color::plum((uint32_t)0xDDA0DDFF);
const etk::Color etk::color::powderBlue((uint32_t)0xB0E0E6FF);
const etk::Color etk::color::purple((uint32_t)0x800080FF);
const etk::Color etk::color::red((uint32_t)0xFF0000FF);
const etk::Color etk::color::rosyBrown((uint32_t)0xBC8F8FFF);
const etk::Color etk::color::royalBlue((uint32_t)0x4169E1FF);
const etk::Color etk::color::saddleBrown((uint32_t)0x8B4513FF);
const etk::Color etk::color::salmon((uint32_t)0xFA8072FF);
const etk::Color etk::color::sandyBrown((uint32_t)0xF4A460FF);
const etk::Color etk::color::seaGreen((uint32_t)0x2E8B57FF);
const etk::Color etk::color::seaShell((uint32_t)0xFFF5EEFF);
const etk::Color etk::color::sienna((uint32_t)0xA0522DFF);
const etk::Color etk::color::silver((uint32_t)0xC0C0C0FF);
const etk::Color etk::color::skyBlue((uint32_t)0x87CEEBFF);
const etk::Color etk::color::slateBlue((uint32_t)0x6A5ACDFF);
const etk::Color etk::color::slateGray((uint32_t)0x708090FF);
const etk::Color etk::color::slateGrey((uint32_t)0x708090FF);
const etk::Color etk::color::snow((uint32_t)0xFFFAFAFF);
const etk::Color etk::color::springGreen((uint32_t)0x00FF7FFF);
const etk::Color etk::color::steelBlue((uint32_t)0x4682B4FF);
const etk::Color etk::color::tan((uint32_t)0xD2B48CFF);
const etk::Color etk::color::teal((uint32_t)0x008080FF);
const etk::Color etk::color::thistle((uint32_t)0xD8BFD8FF);
const etk::Color etk::color::tomato((uint32_t)0xFF6347FF);
const etk::Color etk::color::turquoise((uint32_t)0x40E0D0FF);
const etk::Color etk::color::violet((uint32_t)0xEE82EEFF);
const etk::Color etk::color::wheat((uint32_t)0xF5DEB3FF);
const etk::Color etk::color::white((uint32_t)0xFFFFFFFF);
const etk::Color etk::color::whiteSmoke((uint32_t)0xF5F5F5FF);
const etk::Color etk::color::yellow((uint32_t)0xFFFF00FF);
const etk::Color etk::color::yellowGreen((uint32_t)0x9ACD32FF);
typedef struct {
const char * colorName;
color_ts color;
etk::Color color;
} colorList_ts;
static const colorList_ts listOfColor[] = {
{ "none", etk::color::color_none},
{ "AliceBlue", etk::color::color_AliceBlue},
{ "AntiqueWhite", etk::color::color_AntiqueWhite},
{ "Aqua", etk::color::color_Aqua},
{ "Aquamarine", etk::color::color_Aquamarine},
{ "Azure", etk::color::color_Azure},
{ "Beige", etk::color::color_Beige},
{ "Bisque", etk::color::color_Bisque},
{ "Black", etk::color::color_Black},
{ "BlanchedAlmond", etk::color::color_BlanchedAlmond},
{ "Blue", etk::color::color_Blue},
{ "BlueViolet", etk::color::color_BlueViolet},
{ "Brown", etk::color::color_Brown},
{ "BurlyWood", etk::color::color_BurlyWood},
{ "CadetBlue", etk::color::color_CadetBlue},
{ "Chartreuse", etk::color::color_Chartreuse},
{ "Chocolate", etk::color::color_Chocolate},
{ "Coral", etk::color::color_Coral},
{ "CornflowerBlue", etk::color::color_CornflowerBlue},
{ "Cornsilk", etk::color::color_Cornsilk},
{ "Crimson", etk::color::color_Crimson},
{ "Cyan", etk::color::color_Cyan},
{ "DarkBlue", etk::color::color_DarkBlue},
{ "DarkCyan", etk::color::color_DarkCyan},
{ "DarkGoldenRod", etk::color::color_DarkGoldenRod},
{ "DarkGray", etk::color::color_DarkGray},
{ "DarkGrey", etk::color::color_DarkGrey},
{ "DarkGreen", etk::color::color_DarkGreen},
{ "DarkKhaki", etk::color::color_DarkKhaki},
{ "DarkMagenta", etk::color::color_DarkMagenta},
{ "DarkOliveGreen", etk::color::color_DarkOliveGreen},
{ "Darkorange", etk::color::color_Darkorange},
{ "DarkOrchid", etk::color::color_DarkOrchid},
{ "DarkRed", etk::color::color_DarkRed},
{ "DarkSalmon", etk::color::color_DarkSalmon},
{ "DarkSeaGreen", etk::color::color_DarkSeaGreen},
{ "DarkSlateBlue", etk::color::color_DarkSlateBlue},
{ "DarkSlateGray", etk::color::color_DarkSlateGray},
{ "DarkSlateGrey", etk::color::color_DarkSlateGrey},
{ "DarkTurquoise", etk::color::color_DarkTurquoise},
{ "DarkViolet", etk::color::color_DarkViolet},
{ "DeepPink", etk::color::color_DeepPink},
{ "DeepSkyBlue", etk::color::color_DeepSkyBlue},
{ "DimGray", etk::color::color_DimGray},
{ "DimGrey", etk::color::color_DimGrey},
{ "DodgerBlue", etk::color::color_DodgerBlue},
{ "FireBrick", etk::color::color_FireBrick},
{ "FloralWhite", etk::color::color_FloralWhite},
{ "ForestGreen", etk::color::color_ForestGreen},
{ "Fuchsia", etk::color::color_Fuchsia},
{ "Gainsboro", etk::color::color_Gainsboro},
{ "GhostWhite", etk::color::color_GhostWhite},
{ "Gold", etk::color::color_Gold},
{ "GoldenRod", etk::color::color_GoldenRod},
{ "Gray", etk::color::color_Gray},
{ "Grey", etk::color::color_Grey},
{ "Green", etk::color::color_Green},
{ "GreenYellow", etk::color::color_GreenYellow},
{ "HoneyDew", etk::color::color_HoneyDew},
{ "HotPink", etk::color::color_HotPink},
{ "IndianRed", etk::color::color_IndianRed},
{ "Indigo", etk::color::color_Indigo},
{ "Ivory", etk::color::color_Ivory},
{ "Khaki", etk::color::color_Khaki},
{ "Lavender", etk::color::color_Lavender},
{ "LavenderBlush", etk::color::color_LavenderBlush},
{ "LawnGreen", etk::color::color_LawnGreen},
{ "LemonChiffon", etk::color::color_LemonChiffon},
{ "LightBlue", etk::color::color_LightBlue},
{ "LightCoral", etk::color::color_LightCoral},
{ "LightCyan", etk::color::color_LightCyan},
{ "LightGoldenRodYellow", etk::color::color_LightGoldenRodYellow},
{ "LightGray", etk::color::color_LightGray},
{ "LightGrey", etk::color::color_LightGrey},
{ "LightGreen", etk::color::color_LightGreen},
{ "LightPink", etk::color::color_LightPink},
{ "LightSalmon", etk::color::color_LightSalmon},
{ "LightSeaGreen", etk::color::color_LightSeaGreen},
{ "LightSkyBlue", etk::color::color_LightSkyBlue},
{ "LightSlateGray", etk::color::color_LightSlateGray},
{ "LightSlateGrey", etk::color::color_LightSlateGrey},
{ "LightSteelBlue", etk::color::color_LightSteelBlue},
{ "LightYellow", etk::color::color_LightYellow},
{ "Lime", etk::color::color_Lime},
{ "LimeGreen", etk::color::color_LimeGreen},
{ "Linen", etk::color::color_Linen},
{ "Magenta", etk::color::color_Magenta},
{ "Maroon", etk::color::color_Maroon},
{ "MediumAquaMarine", etk::color::color_MediumAquaMarine},
{ "MediumBlue", etk::color::color_MediumBlue},
{ "MediumOrchid", etk::color::color_MediumOrchid},
{ "MediumPurple", etk::color::color_MediumPurple},
{ "MediumSeaGreen", etk::color::color_MediumSeaGreen},
{ "MediumSlateBlue", etk::color::color_MediumSlateBlue},
{ "MediumSpringGreen", etk::color::color_MediumSpringGreen},
{ "MediumTurquoise", etk::color::color_MediumTurquoise},
{ "MediumVioletRed", etk::color::color_MediumVioletRed},
{ "MidnightBlue", etk::color::color_MidnightBlue},
{ "MintCream", etk::color::color_MintCream},
{ "MistyRose", etk::color::color_MistyRose},
{ "Moccasin", etk::color::color_Moccasin},
{ "NavajoWhite", etk::color::color_NavajoWhite},
{ "Navy", etk::color::color_Navy},
{ "OldLace", etk::color::color_OldLace},
{ "Olive", etk::color::color_Olive},
{ "OliveDrab", etk::color::color_OliveDrab},
{ "Orange", etk::color::color_Orange},
{ "OrangeRed", etk::color::color_OrangeRed},
{ "Orchid", etk::color::color_Orchid},
{ "PaleGoldenRod", etk::color::color_PaleGoldenRod},
{ "PaleGreen", etk::color::color_PaleGreen},
{ "PaleTurquoise", etk::color::color_PaleTurquoise},
{ "PaleVioletRed", etk::color::color_PaleVioletRed},
{ "PapayaWhip", etk::color::color_PapayaWhip},
{ "PeachPuff", etk::color::color_PeachPuff},
{ "Peru", etk::color::color_Peru},
{ "Pink", etk::color::color_Pink},
{ "Plum", etk::color::color_Plum},
{ "PowderBlue", etk::color::color_PowderBlue},
{ "Purple", etk::color::color_Purple},
{ "Red", etk::color::color_Red},
{ "RosyBrown", etk::color::color_RosyBrown},
{ "RoyalBlue", etk::color::color_RoyalBlue},
{ "SaddleBrown", etk::color::color_SaddleBrown},
{ "Salmon", etk::color::color_Salmon},
{ "SandyBrown", etk::color::color_SandyBrown},
{ "SeaGreen", etk::color::color_SeaGreen},
{ "SeaShell", etk::color::color_SeaShell},
{ "Sienna", etk::color::color_Sienna},
{ "Silver", etk::color::color_Silver},
{ "SkyBlue", etk::color::color_SkyBlue},
{ "SlateBlue", etk::color::color_SlateBlue},
{ "SlateGray", etk::color::color_SlateGray},
{ "SlateGrey", etk::color::color_SlateGrey},
{ "Snow", etk::color::color_Snow},
{ "SpringGreen", etk::color::color_SpringGreen},
{ "SteelBlue", etk::color::color_SteelBlue},
{ "Tan", etk::color::color_Tan},
{ "Teal", etk::color::color_Teal},
{ "Thistle", etk::color::color_Thistle},
{ "Tomato", etk::color::color_Tomato},
{ "Turquoise", etk::color::color_Turquoise},
{ "Violet", etk::color::color_Violet},
{ "Wheat", etk::color::color_Wheat},
{ "White", etk::color::color_White},
{ "WhiteSmoke", etk::color::color_WhiteSmoke},
{ "Yellow", etk::color::color_Yellow},
{ "YellowGreen", etk::color::color_YellowGreen}
{ "none", etk::color::none},
{ "AliceBlue", etk::color::aliceBlue},
{ "AntiqueWhite", etk::color::antiqueWhite},
{ "Aqua", etk::color::aqua},
{ "Aquamarine", etk::color::aquamarine},
{ "Azure", etk::color::azure},
{ "Beige", etk::color::beige},
{ "Bisque", etk::color::bisque},
{ "Black", etk::color::black},
{ "BlanchedAlmond", etk::color::blanchedAlmond},
{ "Blue", etk::color::blue},
{ "BlueViolet", etk::color::blueViolet},
{ "Brown", etk::color::brown},
{ "BurlyWood", etk::color::burlyWood},
{ "CadetBlue", etk::color::cadetBlue},
{ "Chartreuse", etk::color::chartreuse},
{ "Chocolate", etk::color::chocolate},
{ "Coral", etk::color::coral},
{ "CornflowerBlue", etk::color::cornflowerBlue},
{ "Cornsilk", etk::color::cornsilk},
{ "Crimson", etk::color::crimson},
{ "Cyan", etk::color::cyan},
{ "DarkBlue", etk::color::darkBlue},
{ "DarkCyan", etk::color::darkCyan},
{ "DarkGoldenRod", etk::color::darkGoldenRod},
{ "DarkGray", etk::color::darkGray},
{ "DarkGrey", etk::color::darkGrey},
{ "DarkGreen", etk::color::darkGreen},
{ "DarkKhaki", etk::color::darkKhaki},
{ "DarkMagenta", etk::color::darkMagenta},
{ "DarkOliveGreen", etk::color::darkOliveGreen},
{ "Darkorange", etk::color::darkorange},
{ "DarkOrchid", etk::color::darkOrchid},
{ "DarkRed", etk::color::darkRed},
{ "DarkSalmon", etk::color::darkSalmon},
{ "DarkSeaGreen", etk::color::darkSeaGreen},
{ "DarkSlateBlue", etk::color::darkSlateBlue},
{ "DarkSlateGray", etk::color::darkSlateGray},
{ "DarkSlateGrey", etk::color::darkSlateGrey},
{ "DarkTurquoise", etk::color::darkTurquoise},
{ "DarkViolet", etk::color::darkViolet},
{ "DeepPink", etk::color::deepPink},
{ "DeepSkyBlue", etk::color::deepSkyBlue},
{ "DimGray", etk::color::dimGray},
{ "DimGrey", etk::color::dimGrey},
{ "DodgerBlue", etk::color::dodgerBlue},
{ "FireBrick", etk::color::fireBrick},
{ "FloralWhite", etk::color::floralWhite},
{ "ForestGreen", etk::color::forestGreen},
{ "Fuchsia", etk::color::fuchsia},
{ "Gainsboro", etk::color::gainsboro},
{ "GhostWhite", etk::color::ghostWhite},
{ "Gold", etk::color::gold},
{ "GoldenRod", etk::color::goldenRod},
{ "Gray", etk::color::gray},
{ "Grey", etk::color::grey},
{ "Green", etk::color::green},
{ "GreenYellow", etk::color::greenYellow},
{ "HoneyDew", etk::color::honeyDew},
{ "HotPink", etk::color::hotPink},
{ "IndianRed", etk::color::indianRed},
{ "Indigo", etk::color::indigo},
{ "Ivory", etk::color::ivory},
{ "Khaki", etk::color::khaki},
{ "Lavender", etk::color::lavender},
{ "LavenderBlush", etk::color::lavenderBlush},
{ "LawnGreen", etk::color::lawnGreen},
{ "LemonChiffon", etk::color::lemonChiffon},
{ "LightBlue", etk::color::lightBlue},
{ "LightCoral", etk::color::lightCoral},
{ "LightCyan", etk::color::lightCyan},
{ "LightGoldenRodYellow", etk::color::lightGoldenRodYellow},
{ "LightGray", etk::color::lightGray},
{ "LightGrey", etk::color::lightGrey},
{ "LightGreen", etk::color::lightGreen},
{ "LightPink", etk::color::lightPink},
{ "LightSalmon", etk::color::lightSalmon},
{ "LightSeaGreen", etk::color::lightSeaGreen},
{ "LightSkyBlue", etk::color::lightSkyBlue},
{ "LightSlateGray", etk::color::lightSlateGray},
{ "LightSlateGrey", etk::color::lightSlateGrey},
{ "LightSteelBlue", etk::color::lightSteelBlue},
{ "LightYellow", etk::color::lightYellow},
{ "Lime", etk::color::lime},
{ "LimeGreen", etk::color::limeGreen},
{ "Linen", etk::color::linen},
{ "Magenta", etk::color::magenta},
{ "Maroon", etk::color::maroon},
{ "MediumAquaMarine", etk::color::mediumAquaMarine},
{ "MediumBlue", etk::color::mediumBlue},
{ "MediumOrchid", etk::color::mediumOrchid},
{ "MediumPurple", etk::color::mediumPurple},
{ "MediumSeaGreen", etk::color::mediumSeaGreen},
{ "MediumSlateBlue", etk::color::mediumSlateBlue},
{ "MediumSpringGreen", etk::color::mediumSpringGreen},
{ "MediumTurquoise", etk::color::mediumTurquoise},
{ "MediumVioletRed", etk::color::mediumVioletRed},
{ "MidnightBlue", etk::color::midnightBlue},
{ "MintCream", etk::color::mintCream},
{ "MistyRose", etk::color::mistyRose},
{ "Moccasin", etk::color::moccasin},
{ "NavajoWhite", etk::color::navajoWhite},
{ "Navy", etk::color::navy},
{ "OldLace", etk::color::oldLace},
{ "Olive", etk::color::olive},
{ "OliveDrab", etk::color::oliveDrab},
{ "Orange", etk::color::orange},
{ "OrangeRed", etk::color::orangeRed},
{ "Orchid", etk::color::orchid},
{ "PaleGoldenRod", etk::color::paleGoldenRod},
{ "PaleGreen", etk::color::paleGreen},
{ "PaleTurquoise", etk::color::paleTurquoise},
{ "PaleVioletRed", etk::color::paleVioletRed},
{ "PapayaWhip", etk::color::papayaWhip},
{ "PeachPuff", etk::color::peachPuff},
{ "Peru", etk::color::peru},
{ "Pink", etk::color::pink},
{ "Plum", etk::color::plum},
{ "PowderBlue", etk::color::powderBlue},
{ "Purple", etk::color::purple},
{ "Red", etk::color::red},
{ "RosyBrown", etk::color::rosyBrown},
{ "RoyalBlue", etk::color::royalBlue},
{ "SaddleBrown", etk::color::saddleBrown},
{ "Salmon", etk::color::salmon},
{ "SandyBrown", etk::color::sandyBrown},
{ "SeaGreen", etk::color::seaGreen},
{ "SeaShell", etk::color::seaShell},
{ "Sienna", etk::color::sienna},
{ "Silver", etk::color::silver},
{ "SkyBlue", etk::color::skyBlue},
{ "SlateBlue", etk::color::slateBlue},
{ "SlateGray", etk::color::slateGray},
{ "SlateGrey", etk::color::slateGrey},
{ "Snow", etk::color::snow},
{ "SpringGreen", etk::color::springGreen},
{ "SteelBlue", etk::color::steelBlue},
{ "Tan", etk::color::tan},
{ "Teal", etk::color::teal},
{ "Thistle", etk::color::thistle},
{ "Tomato", etk::color::tomato},
{ "Turquoise", etk::color::turquoise},
{ "Violet", etk::color::violet},
{ "Wheat", etk::color::wheat},
{ "White", etk::color::white},
{ "WhiteSmoke", etk::color::whiteSmoke},
{ "Yellow", etk::color::yellow},
{ "YellowGreen", etk::color::yellowGreen}
};
static const int32_t listOfColorSize = sizeof(listOfColor) / sizeof(colorList_ts);
static bool strnCmpNoCase(const char * input1, const char * input2, int32_t maxLen)
etk::Color::Color(void)
{
int32_t iii=0;
while ('\0' != *input1 && '\0' != *input2 && iii < maxLen) {
char in1 = *input1;
char in2 = *input2;
if (in1 != in2) {
if (in1 <= 'Z' && in1 >= 'A') {
in1 = in1 - 'A' + 'a';
}
if (in2 <= 'Z' && in2 >= 'A') {
in2 = in2 - 'A' + 'a';
}
if (in1 != in2) {
return false;
}
}
iii++;
input1++;
input2++;
}
return true;
red = 0xFF;
green = 0xFF;
blue = 0xFF;
alpha = 0xFF;
}
/**
* @brief Parse a color specification from the svg file
* @param[in] inputData Data C String with the xml definition
* @return the parsed color
*/
color_ts etk::color::Parse(const char *inputData)
etk::Color::Color(const uint32_t _input)
{
color_ts localColor = etk::color::color_White;
red = (uint8_t)((_input&0xFF000000)>>24);
green = (uint8_t)((_input&0x00FF0000)>>16);
blue = (uint8_t)((_input&0x0000FF00)>>8);
alpha = (uint8_t)((_input&0x000000FF));
}
uint32_t etk::Color::Get(void) const
{
uint32_t directData = red<<24;
directData += green<<16;
directData += blue<<8;
directData += alpha;
return directData;
};
etk::Color::Color(const etk::Color& data)
{
if( this != &data ) {
red = data.red;
green = data.green;
blue = data.blue;
alpha = data.alpha;
}
}
etk::Color::Color(float _red, float _green, float _blue, float _alpha)
{
_red = etk_avg(0.0, _red, 1.0);
_green = etk_avg(0.0, _green, 1.0);
_blue = etk_avg(0.0, _blue, 1.0);
_alpha = etk_avg(0.0, _alpha, 1.0);
red = (uint8_t)(_red*256.0);
green = (uint8_t)(_green*256.0);
blue = (uint8_t)(_blue*256.0);
alpha = (uint8_t)(_alpha*256.0);
}
etk::Color::Color(uint8_t _red, uint8_t _green, uint8_t _blue, uint8_t _alpha)
{
red = _red;
green = _green;
blue = _blue;
alpha = _alpha;
}
etk::Color::Color(const char * _input)
{
etk::UString tmpVal = _input;
Set(tmpVal);
}
etk::Color::Color(etk::UString _input)
{
Set(_input);
}
void etk::Color::Set(etk::UString _input)
{
const char * inputData = _input.c_str();
uint32_t red, green, blue, alpha;
*this = etk::color::white;
uint32_t _red, _green, _blue, _alpha;
float fred, fgreen, fblue, falpha;
size_t len = strlen(inputData);
@ -376,35 +420,35 @@ color_ts etk::color::Parse(const char *inputData)
&& inputData[0] == '#') {
if(len == 4) {
if (sscanf(inputData + 1, "%1x%1x%1x", &red, &green, &blue) == 3) {
localColor.red = (red | red << 4);
localColor.green= (green | green << 4);
localColor.blue = (blue | blue << 4);
red = (red | red << 4);
green= (green | green << 4);
blue = (blue | blue << 4);
} else {
TK_ERROR(" pb in parsing the color : \"" << inputData << "\"");
}
} else if (len==5) {
if (sscanf(inputData + 1, "%1x%1x%1x%1x", &red, &green, &blue, &alpha) == 4) {
localColor.red = (red | red << 4);
localColor.green = (green | green << 4);
localColor.blue = (blue | blue << 4);
localColor.alpha = (alpha | alpha << 4);
if (sscanf(inputData + 1, "%1x%1x%1x%1x", &_red, &_green, &_blue, &_alpha) == 4) {
red = (_red | _red << 4);
green = (_green | _green << 4);
blue = (_blue | _blue << 4);
alpha = (_alpha | _alpha << 4);
} else {
TK_ERROR(" pb in parsing the color : \"" << inputData << "\"");
}
} else if (len == 7) {
if (sscanf(inputData + 1, "%2x%2x%2x", &red, &green, &blue) == 3) {
localColor.red = red;
localColor.green= green;
localColor.blue = blue;
if (sscanf(inputData + 1, "%2x%2x%2x", &_red, &_green, &_blue) == 3) {
red = _red;
green= _green;
blue = _blue;
} else {
TK_ERROR(" pb in parsing the color : \"" << inputData << "\"");
}
} else if (len == 9) {
if (sscanf(inputData + 1, "%2x%2x%2x%2x", &red, &green, &blue, &alpha) == 4) {
localColor.red = red;
localColor.green= green;
localColor.blue = blue;
localColor.alpha = alpha;
if (sscanf(inputData + 1, "%2x%2x%2x%2x", &_red, &_green, &_blue, &_alpha) == 4) {
red = _red;
green= _green;
blue = _blue;
alpha = _alpha;
} else {
TK_ERROR(" pb in parsing the color : \"" << inputData << "\"");
}
@ -416,31 +460,31 @@ color_ts etk::color::Parse(const char *inputData)
&& inputData[1] == 'g'
&& inputData[2] == 'b'
&& inputData[3] == '(' ) {
if (sscanf(inputData + 4, "%u,%u,%u,%u", &red, &green, &blue, &alpha) == 4) {
localColor.red = etk_min(0xFF, red);
localColor.green= etk_min(0xFF, green);
localColor.blue = etk_min(0xFF, blue);
localColor.alpha = etk_min(0xFF, alpha);
} else if (sscanf(inputData + 4, "%u,%u,%u", &red, &green, &blue) == 3) {
localColor.red = etk_min(0xFF, red);
localColor.green= etk_min(0xFF, green);
localColor.blue = etk_min(0xFF, blue);
if (sscanf(inputData + 4, "%u,%u,%u,%u", &_red, &_green, &_blue, &_alpha) == 4) {
red = etk_min(0xFF, _red);
green= etk_min(0xFF, _green);
blue = etk_min(0xFF, _blue);
alpha = etk_min(0xFF, _alpha);
} else if (sscanf(inputData + 4, "%u,%u,%u", &_red, &_green, &_blue) == 3) {
red = etk_min(0xFF, _red);
green= etk_min(0xFF, _green);
blue = etk_min(0xFF, _blue);
} else if (sscanf(inputData + 4, "%f%%,%f%%,%f%%,%f%%", &fred, &fgreen, &fblue, &falpha) == 4) {
fred = etk_avg(0.0, fred, 1.0);
fgreen= etk_avg(0.0, fgreen, 1.0);
fblue = etk_avg(0.0, fblue, 1.0);
falpha = etk_avg(0.0, falpha, 1.0);
localColor.red = (uint8_t)(fred * 255.);
localColor.green= (uint8_t)(fgreen * 255.);
localColor.blue = (uint8_t)(fblue * 255.);
localColor.alpha = (uint8_t)(falpha * 255.);
red = (uint8_t)(fred * 255.);
green= (uint8_t)(fgreen * 255.);
blue = (uint8_t)(fblue * 255.);
alpha = (uint8_t)(falpha * 255.);
} else if (sscanf(inputData + 4, "%f%%,%f%%,%f%%", &fred, &fgreen, &fblue) == 3) {
fred = etk_avg(0.0, fred, 1.0);
fgreen= etk_avg(0.0, fgreen, 1.0);
fblue = etk_avg(0.0, fblue, 1.0);
localColor.red = (uint8_t)(fred * 255.);
localColor.green= (uint8_t)(fgreen * 255.);
localColor.blue = (uint8_t)(fblue * 255.);
red = (uint8_t)(fred * 255.);
green= (uint8_t)(fgreen * 255.);
blue = (uint8_t)(fblue * 255.);
} else {
TK_ERROR(" pb in parsing the color : \"" << inputData << "\" ==> unknown methode ...");
}
@ -448,9 +492,9 @@ color_ts etk::color::Parse(const char *inputData)
bool findIt = false;
// direct named color ...
for (int32_t iii=0; iii<listOfColorSize; iii++) {
if (strnCmpNoCase(listOfColor[iii].colorName, inputData, strlen(listOfColor[iii].colorName)) == true) {
if (etk::tool::strnCmpNoCase(listOfColor[iii].colorName, inputData, strlen(listOfColor[iii].colorName)) == true) {
findIt = true;
localColor = listOfColor[iii].color;
*this = listOfColor[iii].color;
// stop searching
break;
}
@ -460,42 +504,58 @@ color_ts etk::color::Parse(const char *inputData)
TK_ERROR(" pb in parsing the color : \"" << inputData << "\" not find ...");
}
}
TK_VERBOSE("Parse color : \"" << inputData << "\" ==> " << localColor);
return localColor;
TK_VERBOSE("Parse color : \"" << inputData << "\" ==> " << *this);
}
color_ts etk::color::Create(uint32_t val)
etk::CCout& etk::operator <<(etk::CCout &os, const etk::Color &obj)
{
color_ts tmpColor;
tmpColor.red=(uint8_t)((val>>24)&0xFF);
tmpColor.green=(uint8_t)((val>>16)&0xFF);
tmpColor.blue=(uint8_t)((val>>8)&0xFF);
tmpColor.alpha=(uint8_t)((val)&0xFF);
return tmpColor;
char tmpData[256];
snprintf(tmpData, 256, "#%02X%02X%02X%02X", obj.red, obj.green, obj.blue, obj.alpha);
os << tmpData;
return os;
}
color_ts etk::color::Create(uint8_t _red, uint8_t _green, uint8_t _blue, uint8_t _alpha)
etk::Color& etk::Color::operator= (const etk::Color &_input )
{
color_ts tmpColor;
tmpColor.red =_red;
tmpColor.green=_green;
tmpColor.blue =_blue;
tmpColor.alpha=_alpha;
return tmpColor;
//TK_INFO("OPERATOR de recopie");
if( this != &_input ) {
red = _input.red;
green = _input.green;
blue = _input.blue;
alpha = _input.alpha;
}
return *this;
}
color_ts etk::color::Create(float _red, float _green, float _blue, float _alpha)
etk::Color& etk::Color::operator= (const uint32_t _input )
{
color_ts tmpColor;
_red = etk_avg((float)0, (float)_red, (float)1);
_green = etk_avg((float)0, (float)_green, (float)1);
_blue = etk_avg((float)0, (float)_blue, (float)1);
_alpha = etk_avg((float)0, (float)_alpha, (float)1);
tmpColor.red =(uint8_t)(_red*255);
tmpColor.green=(uint8_t)(_green*255);
tmpColor.blue =(uint8_t)(_blue*255);
tmpColor.alpha=(uint8_t)(_alpha*255);
return tmpColor;
red = (uint8_t)((_input&0xFF000000)>>24);
green = (uint8_t)((_input&0x00FF0000)>>16);
blue = (uint8_t)((_input&0x0000FF00)>>8);
alpha = (uint8_t)((_input&0x000000FF));
return *this;
}
bool etk::Color::operator==(const Color& _input) const
{
if( red != _input.red
|| green != _input.green
|| blue != _input.blue
|| alpha != _input.alpha ) {
return false;
}
return true;
}
bool etk::Color::operator!=(const Color& _input) const
{
if( red != _input.red
|| green != _input.green
|| blue != _input.blue
|| alpha != _input.alpha ) {
return true;
}
return false;
}

View File

@ -25,165 +25,195 @@
#ifndef __ETK_COLOR_H__
#define __ETK_COLOR_H__
#include <etk/UString.h>
#ifndef __ETK_USTRING_H__
namespace etk {
class UString;
};
#endif
namespace etk {
class Color {
public:
uint8_t red;
uint8_t green;
uint8_t blue;
uint8_t alpha;
// constructor :
Color(void);
Color(const etk::Color& data);
Color(const uint32_t data);
Color(uint8_t _red, uint8_t _green, uint8_t _blue, uint8_t _alpha = 255);
Color(float _red, float _green, float _blue, float _alpha = 1.0);
Color(etk::UString data);
Color(const char * data);
// operator :
etk::Color& operator=(const uint32_t _input);
etk::Color& operator=(const etk::Color& _input);
bool operator==(const etk::Color& _input) const;
bool operator!=(const etk::Color& _input) const;
// access :
void Set(etk::UString _input);
uint32_t Get(void) const;
/*****************************************************
* Cout << operator
*****************************************************/
friend etk::CCout& operator <<( etk::CCout &os,const etk::Color &obj);
};
etk::CCout& operator <<(etk::CCout &os, const etk::Color &obj);
namespace color {
extern const color_ts color_none;
extern const color_ts color_AliceBlue;
extern const color_ts color_AntiqueWhite;
extern const color_ts color_Aqua;
extern const color_ts color_Aquamarine;
extern const color_ts color_Azure;
extern const color_ts color_Beige;
extern const color_ts color_Bisque;
extern const color_ts color_Black;
extern const color_ts color_BlanchedAlmond;
extern const color_ts color_Blue;
extern const color_ts color_BlueViolet;
extern const color_ts color_Brown;
extern const color_ts color_BurlyWood;
extern const color_ts color_CadetBlue;
extern const color_ts color_Chartreuse;
extern const color_ts color_Chocolate;
extern const color_ts color_Coral;
extern const color_ts color_CornflowerBlue;
extern const color_ts color_Cornsilk;
extern const color_ts color_Crimson;
extern const color_ts color_Cyan;
extern const color_ts color_DarkBlue;
extern const color_ts color_DarkCyan;
extern const color_ts color_DarkGoldenRod;
extern const color_ts color_DarkGray;
extern const color_ts color_DarkGrey;
extern const color_ts color_DarkGreen;
extern const color_ts color_DarkKhaki;
extern const color_ts color_DarkMagenta;
extern const color_ts color_DarkOliveGreen;
extern const color_ts color_Darkorange;
extern const color_ts color_DarkOrchid;
extern const color_ts color_DarkRed;
extern const color_ts color_DarkSalmon;
extern const color_ts color_DarkSeaGreen;
extern const color_ts color_DarkSlateBlue;
extern const color_ts color_DarkSlateGray;
extern const color_ts color_DarkSlateGrey;
extern const color_ts color_DarkTurquoise;
extern const color_ts color_DarkViolet;
extern const color_ts color_DeepPink;
extern const color_ts color_DeepSkyBlue;
extern const color_ts color_DimGray;
extern const color_ts color_DimGrey;
extern const color_ts color_DodgerBlue;
extern const color_ts color_FireBrick;
extern const color_ts color_FloralWhite;
extern const color_ts color_ForestGreen;
extern const color_ts color_Fuchsia;
extern const color_ts color_Gainsboro;
extern const color_ts color_GhostWhite;
extern const color_ts color_Gold;
extern const color_ts color_GoldenRod;
extern const color_ts color_Gray;
extern const color_ts color_Grey;
extern const color_ts color_Green;
extern const color_ts color_GreenYellow;
extern const color_ts color_HoneyDew;
extern const color_ts color_HotPink;
extern const color_ts color_IndianRed;
extern const color_ts color_Indigo;
extern const color_ts color_Ivory;
extern const color_ts color_Khaki;
extern const color_ts color_Lavender;
extern const color_ts color_LavenderBlush;
extern const color_ts color_LawnGreen;
extern const color_ts color_LemonChiffon;
extern const color_ts color_LightBlue;
extern const color_ts color_LightCoral;
extern const color_ts color_LightCyan;
extern const color_ts color_LightGoldenRodYellow;
extern const color_ts color_LightGray;
extern const color_ts color_LightGrey;
extern const color_ts color_LightGreen;
extern const color_ts color_LightPink;
extern const color_ts color_LightSalmon;
extern const color_ts color_LightSeaGreen;
extern const color_ts color_LightSkyBlue;
extern const color_ts color_LightSlateGray;
extern const color_ts color_LightSlateGrey;
extern const color_ts color_LightSteelBlue;
extern const color_ts color_LightYellow;
extern const color_ts color_Lime;
extern const color_ts color_LimeGreen;
extern const color_ts color_Linen;
extern const color_ts color_Magenta;
extern const color_ts color_Maroon;
extern const color_ts color_MediumAquaMarine;
extern const color_ts color_MediumBlue;
extern const color_ts color_MediumOrchid;
extern const color_ts color_MediumPurple;
extern const color_ts color_MediumSeaGreen;
extern const color_ts color_MediumSlateBlue;
extern const color_ts color_MediumSpringGreen;
extern const color_ts color_MediumTurquoise;
extern const color_ts color_MediumVioletRed;
extern const color_ts color_MidnightBlue;
extern const color_ts color_MintCream;
extern const color_ts color_MistyRose;
extern const color_ts color_Moccasin;
extern const color_ts color_NavajoWhite;
extern const color_ts color_Navy;
extern const color_ts color_OldLace;
extern const color_ts color_Olive;
extern const color_ts color_OliveDrab;
extern const color_ts color_Orange;
extern const color_ts color_OrangeRed;
extern const color_ts color_Orchid;
extern const color_ts color_PaleGoldenRod;
extern const color_ts color_PaleGreen;
extern const color_ts color_PaleTurquoise;
extern const color_ts color_PaleVioletRed;
extern const color_ts color_PapayaWhip;
extern const color_ts color_PeachPuff;
extern const color_ts color_Peru;
extern const color_ts color_Pink;
extern const color_ts color_Plum;
extern const color_ts color_PowderBlue;
extern const color_ts color_Purple;
extern const color_ts color_Red;
extern const color_ts color_RosyBrown;
extern const color_ts color_RoyalBlue;
extern const color_ts color_SaddleBrown;
extern const color_ts color_Salmon;
extern const color_ts color_SandyBrown;
extern const color_ts color_SeaGreen;
extern const color_ts color_SeaShell;
extern const color_ts color_Sienna;
extern const color_ts color_Silver;
extern const color_ts color_SkyBlue;
extern const color_ts color_SlateBlue;
extern const color_ts color_SlateGray;
extern const color_ts color_SlateGrey;
extern const color_ts color_Snow;
extern const color_ts color_SpringGreen;
extern const color_ts color_SteelBlue;
extern const color_ts color_Tan;
extern const color_ts color_Teal;
extern const color_ts color_Thistle;
extern const color_ts color_Tomato;
extern const color_ts color_Turquoise;
extern const color_ts color_Violet;
extern const color_ts color_Wheat;
extern const color_ts color_White;
extern const color_ts color_WhiteSmoke;
extern const color_ts color_Yellow;
extern const color_ts color_YellowGreen;
color_ts Parse(const char *inputData);
color_ts Create(uint32_t val);
color_ts Create( uint8_t _red, uint8_t _green, uint8_t _blue, uint8_t _alpha=255);
color_ts Create(float _red, float _green, float _blue, float _alpha=1.0);
extern const Color none;
extern const Color aliceBlue;
extern const Color antiqueWhite;
extern const Color aqua;
extern const Color aquamarine;
extern const Color azure;
extern const Color beige;
extern const Color bisque;
extern const Color black;
extern const Color blanchedAlmond;
extern const Color blue;
extern const Color blueViolet;
extern const Color brown;
extern const Color burlyWood;
extern const Color cadetBlue;
extern const Color chartreuse;
extern const Color chocolate;
extern const Color coral;
extern const Color cornflowerBlue;
extern const Color cornsilk;
extern const Color crimson;
extern const Color cyan;
extern const Color darkBlue;
extern const Color darkCyan;
extern const Color darkGoldenRod;
extern const Color darkGray;
extern const Color darkGrey;
extern const Color darkGreen;
extern const Color darkKhaki;
extern const Color darkMagenta;
extern const Color darkOliveGreen;
extern const Color darkorange;
extern const Color darkOrchid;
extern const Color darkRed;
extern const Color darkSalmon;
extern const Color darkSeaGreen;
extern const Color darkSlateBlue;
extern const Color darkSlateGray;
extern const Color darkSlateGrey;
extern const Color darkTurquoise;
extern const Color darkViolet;
extern const Color deepPink;
extern const Color deepSkyBlue;
extern const Color dimGray;
extern const Color dimGrey;
extern const Color dodgerBlue;
extern const Color fireBrick;
extern const Color floralWhite;
extern const Color forestGreen;
extern const Color fuchsia;
extern const Color gainsboro;
extern const Color ghostWhite;
extern const Color gold;
extern const Color goldenRod;
extern const Color gray;
extern const Color grey;
extern const Color green;
extern const Color greenYellow;
extern const Color honeyDew;
extern const Color hotPink;
extern const Color indianRed;
extern const Color indigo;
extern const Color ivory;
extern const Color khaki;
extern const Color lavender;
extern const Color lavenderBlush;
extern const Color lawnGreen;
extern const Color lemonChiffon;
extern const Color lightBlue;
extern const Color lightCoral;
extern const Color lightCyan;
extern const Color lightGoldenRodYellow;
extern const Color lightGray;
extern const Color lightGrey;
extern const Color lightGreen;
extern const Color lightPink;
extern const Color lightSalmon;
extern const Color lightSeaGreen;
extern const Color lightSkyBlue;
extern const Color lightSlateGray;
extern const Color lightSlateGrey;
extern const Color lightSteelBlue;
extern const Color lightYellow;
extern const Color lime;
extern const Color limeGreen;
extern const Color linen;
extern const Color magenta;
extern const Color maroon;
extern const Color mediumAquaMarine;
extern const Color mediumBlue;
extern const Color mediumOrchid;
extern const Color mediumPurple;
extern const Color mediumSeaGreen;
extern const Color mediumSlateBlue;
extern const Color mediumSpringGreen;
extern const Color mediumTurquoise;
extern const Color mediumVioletRed;
extern const Color midnightBlue;
extern const Color mintCream;
extern const Color mistyRose;
extern const Color moccasin;
extern const Color navajoWhite;
extern const Color navy;
extern const Color oldLace;
extern const Color olive;
extern const Color oliveDrab;
extern const Color orange;
extern const Color orangeRed;
extern const Color orchid;
extern const Color paleGoldenRod;
extern const Color paleGreen;
extern const Color paleTurquoise;
extern const Color paleVioletRed;
extern const Color papayaWhip;
extern const Color peachPuff;
extern const Color peru;
extern const Color pink;
extern const Color plum;
extern const Color powderBlue;
extern const Color purple;
extern const Color red;
extern const Color rosyBrown;
extern const Color royalBlue;
extern const Color saddleBrown;
extern const Color salmon;
extern const Color sandyBrown;
extern const Color seaGreen;
extern const Color seaShell;
extern const Color sienna;
extern const Color silver;
extern const Color skyBlue;
extern const Color slateBlue;
extern const Color slateGray;
extern const Color slateGrey;
extern const Color snow;
extern const Color springGreen;
extern const Color steelBlue;
extern const Color tan;
extern const Color teal;
extern const Color thistle;
extern const Color tomato;
extern const Color turquoise;
extern const Color violet;
extern const Color wheat;
extern const Color white;
extern const Color whiteSmoke;
extern const Color yellow;
extern const Color yellowGreen;
};
};

View File

@ -56,7 +56,7 @@ etk::UString baseApplName = "ewolNoName";
static void loadAPK(etk::UString& apkPath)
{
TK_DEBUG("Loading APK \"" << apkPath << "\"");
s_APKArchive = zip_open(apkPath.Utf8Data(), 0, NULL);
s_APKArchive = zip_open(apkPath.c_str(), 0, NULL);
TK_ASSERT(s_APKArchive != NULL, "Error loading APK ... \"" << apkPath << "\"");
//Just for debug, print APK contents
s_APKnbFiles = zip_get_num_files(s_APKArchive);
@ -399,7 +399,7 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
TK_VERBOSE("3 : Get file Name : " << destFilename );
if (true == needUnpack) {
// Get the real Path of the current File
ok = realpath(destFilename.Utf8Data(), buf);
ok = realpath(destFilename.c_str(), buf);
if (!ok) {
int32_t lastPos = destFilename.FindBack('/');
if (-1 != lastPos) {
@ -407,7 +407,7 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
etk::UString tmpFilename = destFilename.Extract(lastPos+1);
destFilename.Remove(lastPos, destFilename.Size() - lastPos);
TK_VERBOSE("try to find :\"" << destFilename << "\" / \"" << tmpFilename << "\" ");
ok = realpath(destFilename.Utf8Data(), buf);
ok = realpath(destFilename.c_str(), buf);
if (!ok) {
TK_VERBOSE("Can not find real Path name of \"" << destFilename << "\"");
m_shortFilename = tmpFilename;
@ -562,7 +562,7 @@ int32_t etk::File::Size(void)
break;
}
myCompleateName += GetCompleateName();
myFile=fopen(myCompleateName.Utf8Data(),"rb");
myFile=fopen(myCompleateName.c_str(),"rb");
if(NULL == myFile) {
//EWOL_ERROR("Can not find the file name=\"" << m_folder << "\" / \"" << m_shortFilename << "\"");
return -1;
@ -604,9 +604,9 @@ bool etk::File::Exist(void)
break;
}
myCompleateName += GetCompleateName();
myFile=fopen(myCompleateName.Utf8Data(),"rb");
myFile=fopen(myCompleateName.c_str(),"rb");
if(NULL == myFile) {
TK_DEBUG("try to open : " << myCompleateName.Utf8Data());
TK_DEBUG("try to open : " << myCompleateName.c_str());
return false;
}
fclose(myFile);
@ -643,7 +643,7 @@ bool etk::File::fOpenRead(void)
break;
}
myCompleateName += GetCompleateName();
m_PointerFile=fopen(myCompleateName.Utf8Data(),"rb");
m_PointerFile=fopen(myCompleateName.c_str(),"rb");
if(NULL == m_PointerFile) {
TK_ERROR("Can not find the file name=\"" << GetCompleateName() << "\"");
return false;
@ -679,7 +679,7 @@ bool etk::File::fOpenWrite(void)
break;
}
myCompleateName += GetCompleateName();
m_PointerFile=fopen(myCompleateName.Utf8Data(),"wb");
m_PointerFile=fopen(myCompleateName.c_str(),"wb");
if(NULL == m_PointerFile) {
TK_ERROR("Can not find the file name=\"" << GetCompleateName() << "\"");
return false;

View File

@ -88,7 +88,7 @@ const int32_t etk::constConvertionTableSize = sizeof(etk::constConvertionTable)
* @return ---
*
*/
void etk::DisplayData(etk::VectorType<char> &data)
void etk::DisplayData(etk::Vector<char> &data)
{
int32_t i;
for (i=0; i<(int32_t)data.Size() ; i++) {
@ -106,7 +106,7 @@ void etk::DisplayData(etk::VectorType<char> &data)
* @return ---
*
*/
void etk::DisplayElem(etk::VectorType<int16_t> &data, int32_t start, int32_t stop)
void etk::DisplayElem(etk::Vector<int16_t> &data, int32_t start, int32_t stop)
{
int32_t i;
etk::cout<< ETK_BASH_COLOR_NORMAL;
@ -176,7 +176,7 @@ char * etk::levelSpace(int32_t level)
* @return ---
*
*/
int32_t etk::GetLenOfPTheseElem(etk::VectorType<int16_t> &data, int32_t startPos)
int32_t etk::GetLenOfPTheseElem(etk::Vector<int16_t> &data, int32_t startPos)
{
int32_t pos = startPos;
int32_t nbOpen = 0;
@ -225,7 +225,7 @@ int32_t etk::GetLenOfPTheseElem(etk::VectorType<int16_t> &data, int32_t startPos
* @return ---
*
*/
int32_t etk::GetLenOfPThese(etk::VectorType<int16_t> &data, int32_t startPos)
int32_t etk::GetLenOfPThese(etk::Vector<int16_t> &data, int32_t startPos)
{
int32_t pos = startPos;
int32_t nbOpen = 0;
@ -278,7 +278,7 @@ int32_t etk::GetLenOfPThese(etk::VectorType<int16_t> &data, int32_t startPos)
* @return ---
*
*/
int32_t etk::GetLenOfBracket(etk::VectorType<int16_t> &data, int32_t startPos)
int32_t etk::GetLenOfBracket(etk::Vector<int16_t> &data, int32_t startPos)
{
int32_t pos = startPos;
// special case of the (...) or | ==> we search '|' or ')'
@ -322,7 +322,7 @@ int32_t etk::GetLenOfBracket(etk::VectorType<int16_t> &data, int32_t startPos)
* @return ---
*
*/
int32_t etk::GetLenOfBrace(etk::VectorType<int16_t> &data, int32_t startPos)
int32_t etk::GetLenOfBrace(etk::Vector<int16_t> &data, int32_t startPos)
{
int32_t pos = startPos;
// special case of the (...) or | ==> we search '|' or ')'
@ -366,7 +366,7 @@ int32_t etk::GetLenOfBrace(etk::VectorType<int16_t> &data, int32_t startPos)
* @return ---
*
*/
int32_t etk::GetLenOfNormal(etk::VectorType<int16_t> &data, int32_t startPos)
int32_t etk::GetLenOfNormal(etk::Vector<int16_t> &data, int32_t startPos)
{
int32_t pos = startPos;
@ -423,7 +423,7 @@ int32_t etk::GetLenOfNormal(etk::VectorType<int16_t> &data, int32_t startPos)
* @return ---
*
*/
bool etk::ParseBrace(etk::VectorType<int16_t> &data, int32_t &min, int32_t &max)
bool etk::ParseBrace(etk::Vector<int16_t> &data, int32_t &min, int32_t &max)
{
//TK_INFO("parse {...} in "; DisplayElem(data); );
int32_t k=0;

View File

@ -29,7 +29,7 @@
#include <etk/DebugInternal.h>
#include <etk/Memory.h>
#include <etk/UString.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
namespace etk {
@ -94,15 +94,15 @@ typedef struct {
extern const convertionTable_ts constConvertionTable[];
extern const int32_t constConvertionTableSize;
void DisplayData(etk::VectorType<char> &data);
void DisplayElem(etk::VectorType<int16_t> &data, int32_t start=0, int32_t stop=0x7FFFFFFF);
void DisplayData(etk::Vector<char> &data);
void DisplayElem(etk::Vector<int16_t> &data, int32_t start=0, int32_t stop=0x7FFFFFFF);
char * levelSpace(int32_t level);
int32_t GetLenOfPTheseElem(etk::VectorType<int16_t> &data, int32_t startPos);
int32_t GetLenOfPThese(etk::VectorType<int16_t> &data, int32_t startPos);
int32_t GetLenOfBracket(etk::VectorType<int16_t> &data, int32_t startPos);
int32_t GetLenOfBrace(etk::VectorType<int16_t> &data, int32_t startPos);
int32_t GetLenOfNormal(etk::VectorType<int16_t> &data, int32_t startPos);
bool ParseBrace(etk::VectorType<int16_t> &data, int32_t &min, int32_t &max);
int32_t GetLenOfPTheseElem(etk::Vector<int16_t> &data, int32_t startPos);
int32_t GetLenOfPThese(etk::Vector<int16_t> &data, int32_t startPos);
int32_t GetLenOfBracket(etk::Vector<int16_t> &data, int32_t startPos);
int32_t GetLenOfBrace(etk::Vector<int16_t> &data, int32_t startPos);
int32_t GetLenOfNormal(etk::Vector<int16_t> &data, int32_t startPos);
bool ParseBrace(etk::Vector<int16_t> &data, int32_t &min, int32_t &max);
#undef __class__
@ -139,7 +139,7 @@ template<class CLASS_TYPE> class RegExpNode{
* @param[in,out]
* @return
*/
virtual int32_t Generate(etk::VectorType<int16_t> &data)
virtual int32_t Generate(etk::Vector<int16_t> &data)
{
return 0;
};
@ -199,7 +199,7 @@ template<class CLASS_TYPE> class RegExpNode{
int32_t m_multipleMin; //!< minimum repetition (included)
int32_t m_multipleMax; //!< maximum repetition (included)
// Data Section ... (can have no data...)
etk::VectorType<int16_t> m_RegExpData; //!< data to parse and compare in some case ...
etk::Vector<int16_t> m_RegExpData; //!< data to parse and compare in some case ...
};
#undef __class__
@ -233,7 +233,7 @@ template<class CLASS_TYPE> class RegExpNodeValue : public RegExpNode<CLASS_TYPE>
* @param[in,out]
* @return
*/
int32_t Generate(etk::VectorType<int16_t> &data)
int32_t Generate(etk::Vector<int16_t> &data)
{
RegExpNode<CLASS_TYPE>::m_RegExpData = data;
//TK_DEBUG("Request Parse \"Value\" data="; DisplayElem(RegExpNode<CLASS_TYPE>::m_RegExpData););
@ -303,7 +303,7 @@ template<class CLASS_TYPE> class RegExpNodeValue : public RegExpNode<CLASS_TYPE>
};
protected :
// SubNodes :
etk::VectorType<char> m_data;
etk::Vector<char> m_data;
};
#undef __class__
#define __class__ "etk::RegExpNodeBracket"
@ -336,7 +336,7 @@ template<class CLASS_TYPE> class RegExpNodeBracket : public RegExpNode<CLASS_TYP
* @param[in,out]
* @return
*/
int32_t Generate(etk::VectorType<int16_t> &data)
int32_t Generate(etk::Vector<int16_t> &data)
{
RegExpNode<CLASS_TYPE>::m_RegExpData = data;
//TK_DEBUG("Request Parse [...] data="; DisplayElem(RegExpNode<CLASS_TYPE>::m_RegExpData););
@ -421,7 +421,7 @@ template<class CLASS_TYPE> class RegExpNodeBracket : public RegExpNode<CLASS_TYP
};
protected :
// SubNodes :
etk::VectorType<char> m_data;
etk::Vector<char> m_data;
};
#undef __class__
#define __class__ "etk::RegExpNodeDigit"
@ -1211,14 +1211,14 @@ template<class CLASS_TYPE> class RegExpNodePTheseElem : public RegExpNode<CLASS_
* @param[in,out]
* @return
*/
int32_t Generate(etk::VectorType<int16_t> &data)
int32_t Generate(etk::Vector<int16_t> &data)
{
RegExpNode<CLASS_TYPE>::m_RegExpData = data;
//TK_DEBUG("Request Parse (elem) data="; DisplayElem(RegExpNode<CLASS_TYPE>::m_RegExpData););
int32_t pos = 0;
int32_t elementSize = 0;
etk::VectorType<int16_t> tmpData;
etk::Vector<int16_t> tmpData;
while (pos < RegExpNode<CLASS_TYPE>::m_RegExpData.Size()) {
tmpData.Clear();
switch (RegExpNode<CLASS_TYPE>::m_RegExpData[pos])
@ -1404,7 +1404,7 @@ template<class CLASS_TYPE> class RegExpNodePTheseElem : public RegExpNode<CLASS_
};
protected :
// SubNodes :
etk::VectorType<RegExpNode<CLASS_TYPE>*> m_subNode;
etk::Vector<RegExpNode<CLASS_TYPE>*> m_subNode;
private :
/**
* @brief Set the number of repeate time on a the last node in the list ...
@ -1461,7 +1461,7 @@ template<class CLASS_TYPE> class RegExpNodePThese : public RegExpNode<CLASS_TYPE
* @param[in,out]
* @return
*/
int32_t Generate(etk::VectorType<int16_t> &data)
int32_t Generate(etk::Vector<int16_t> &data)
{
RegExpNode<CLASS_TYPE>::m_RegExpData = data;
//TK_DEBUG("Request Parse (...) data="; DisplayElem(RegExpNode<CLASS_TYPE>::m_RegExpData););
@ -1471,7 +1471,7 @@ template<class CLASS_TYPE> class RegExpNodePThese : public RegExpNode<CLASS_TYPE
// generate all the "elemTypePTheseElem" of the Node
while (elementSize>0) {
// geerate output deta ...
etk::VectorType<int16_t> tmpData;
etk::Vector<int16_t> tmpData;
for (int32_t k=pos; k<pos+elementSize; k++) {
tmpData.PushBack(RegExpNode<CLASS_TYPE>::m_RegExpData[k]);
}
@ -1547,7 +1547,7 @@ template<class CLASS_TYPE> class RegExpNodePThese : public RegExpNode<CLASS_TYPE
protected :
// SubNodes :
etk::VectorType<RegExpNode<CLASS_TYPE>*> m_subNode;
etk::Vector<RegExpNode<CLASS_TYPE>*> m_subNode;
//int32_t m_posPthese; //!< position of the element is detected in the output element
};
#undef __class__
@ -1634,7 +1634,7 @@ template<class CLASS_TYPE> class RegExp {
void SetRegExp(etk::UString &expressionRequested)
{
m_expressionRequested = expressionRequested; // TODO : Must be deprecated ...
etk::VectorType<int16_t> tmpExp;
etk::Vector<int16_t> tmpExp;
//TK_DEBUG("Parse RegExp : " << expressionRequested.c_str() );
m_isOk = false;
@ -1644,7 +1644,7 @@ template<class CLASS_TYPE> class RegExp {
m_notEndWithChar = false;
// TODO : Check this ... ==> could create some errors ...
char * exp = expressionRequested.Utf8Data();
char * exp = expressionRequested.c_str();
int32_t regExpLen = strlen(exp);
// change in the regular Opcode ==> replace \x with the corect element ... x if needed
int32_t iii;
@ -1977,7 +1977,7 @@ template<class CLASS_TYPE> class RegExp {
* @param[in,out]
* @return
*/
bool CheckGoodPosition(etk::VectorType<int16_t> tmpExp, int32_t &pos)
bool CheckGoodPosition(etk::Vector<int16_t> tmpExp, int32_t &pos)
{
int16_t curentCode = tmpExp[pos];
int16_t endCode = REGEXP_OPCODE_PTHESE_OUT;
@ -2083,7 +2083,7 @@ template<class CLASS_TYPE> class RegExp {
* @param[in,out]
* @return
*/
bool CheckGoodPosition(etk::VectorType<int16_t> tmpExp)
bool CheckGoodPosition(etk::Vector<int16_t> tmpExp)
{
int32_t pos = 0;
while (pos < (int32_t)tmpExp.Size()) {

View File

@ -187,11 +187,6 @@ namespace etk{
strncat(m_tmpChar, tmp, MAX_LOG_SIZE);
return *this;
}
CCout& operator << (color_ts t) {
snprintf(tmp, MAX_LOG_SIZE_TMP, "#%02X%02X%02X%02X", t.red, t.green, t.blue, t.alpha);
strncat(m_tmpChar, tmp, MAX_LOG_SIZE);
return *this;
}
CCout& operator << (clipping_ts t) {
snprintf(tmp, MAX_LOG_SIZE_TMP, "origin=(%f,%f) size=(%f,%f)", t.x, t.y, t.w, t.h);
strncat(m_tmpChar, tmp, MAX_LOG_SIZE);

View File

@ -68,8 +68,6 @@ typedef enum {
#define etk_max(elemA, elemB) (((elemA)<(elemB)) ? (elemB) : (elemA))
#define etk_avg(minimim, elem, maximum) (((minimim)>(elem)) ? (minimim) : ((maximum)<(elem)) ? (maximum) : (elem))
#include <etk/TypesCoordonate.h>
typedef struct {
float u;
float v;
@ -82,38 +80,6 @@ typedef struct {
float h;
}clipping_ts;
typedef struct color_ts {
uint8_t red;
uint8_t green;
uint8_t blue;
uint8_t alpha;
color_ts(void) {
red = 0xFF;
green = 0xFF;
blue = 0xFF;
alpha = 0xFF;
};
color_ts(uint32_t data) {
red = (uint8_t)((data&0xFF000000)>>24);
green = (uint8_t)((data&0x00FF0000)>>16);
blue = (uint8_t)((data&0x0000FF00)>>8);
alpha = (uint8_t)((data&0x000000FF));
};
color_ts(float _red, float _green, float _blue, float _alpha = 1.0) {
_red = etk_avg(0.0, _red, 1.0);
_green = etk_avg(0.0, _green, 1.0);
_blue = etk_avg(0.0, _blue, 1.0);
_alpha = etk_avg(0.0, _alpha, 1.0);
red = (uint8_t)(_red*256.0);
green = (uint8_t)(_green*256.0);
blue = (uint8_t)(_blue*256.0);
alpha = (uint8_t)(_alpha*256.0);
};
}color_ts;
#include <etk/Color.h>
#endif
#include <etk/TypesCoordonate.h>

View File

@ -47,7 +47,7 @@ int32_t strlen(const uniChar_t * data)
etk::CCout& etk::operator <<(etk::CCout &os, const etk::UString &obj)
{
etk::VectorType<char> output_UTF8;
etk::Vector<char> output_UTF8;
unicode::convertUnicodeToUtf8(obj.m_data, output_UTF8);
output_UTF8.PushBack('\0');
os << &output_UTF8[0];
@ -135,7 +135,7 @@ void etk::UString::Set(const char * inputData, int32_t len)
len = strlen(inputData);
}
// convert the string
etk::VectorType<char> tmpChar;
etk::Vector<char> tmpChar;
for (int32_t iii=0; iii<len; iii++) {
tmpChar.PushBack(inputData[iii]);
}
@ -276,9 +276,9 @@ const etk::UString& etk::UString::operator= (const etk::UString &etkS )
* @return
*
*/
const etk::UString& etk::UString::operator= (etk::VectorType<char> inputData)
const etk::UString& etk::UString::operator= (etk::Vector<char> inputData)
{
etk::VectorType<uniChar_t> output_Unicode;
etk::Vector<uniChar_t> output_Unicode;
unicode::convertUtf8ToUnicode(inputData, output_Unicode);
*this = output_Unicode;
return *this;
@ -292,9 +292,9 @@ const etk::UString& etk::UString::operator= (etk::VectorType<char> inputData)
* @return
*
*/
const etk::UString& etk::UString::operator= (etk::VectorType<int8_t> inputData)
const etk::UString& etk::UString::operator= (etk::Vector<int8_t> inputData)
{
etk::VectorType<uniChar_t> output_Unicode;
etk::Vector<uniChar_t> output_Unicode;
unicode::convertUtf8ToUnicode(inputData, output_Unicode);
*this = output_Unicode;
return *this;
@ -309,7 +309,7 @@ const etk::UString& etk::UString::operator= (etk::VectorType<int8_t> inputData)
* @return
*
*/
const etk::UString& etk::UString::operator= (etk::VectorType<uniChar_t> inputData)
const etk::UString& etk::UString::operator= (etk::Vector<uniChar_t> inputData)
{
m_data = inputData;
if (m_data.Size()>0) {
@ -734,9 +734,9 @@ etk::UString etk::UString::Extract(int32_t posStart, int32_t posEnd)
* @return The desired vector with data
*
*/
etk::VectorType<uniChar_t> etk::UString::GetVector(void)
etk::Vector<uniChar_t> etk::UString::GetVector(void)
{
etk::VectorType<uniChar_t> out = m_data;
etk::Vector<uniChar_t> out = m_data;
out.PopBack();
return out;
}
@ -780,7 +780,7 @@ bool etk::UString::EndWith(const etk::UString& data)
}
char * etk::UString::Utf8Data(void)
char * etk::UString::c_str(void)
{
// UTF8 generation :
m_dataUtf8.Clear();

View File

@ -26,7 +26,7 @@
#define __ETK_USTRING_H__
#include <etk/Stream.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
namespace etk
{
@ -54,9 +54,9 @@ namespace etk
* = assigment
*****************************************************/
const etk::UString& operator= (const etk::UString &etkS );
const etk::UString& operator= (etk::VectorType<char> inputData);
const etk::UString& operator= (etk::VectorType<int8_t> inputData);
const etk::UString& operator= (etk::VectorType<uniChar_t> inputData);
const etk::UString& operator= (etk::Vector<char> inputData);
const etk::UString& operator= (etk::Vector<int8_t> inputData);
const etk::UString& operator= (etk::Vector<uniChar_t> inputData);
/*****************************************************
* == operator
*****************************************************/
@ -116,8 +116,8 @@ namespace etk
// Find element
int32_t FindForward(const char data, int32_t startPos=0);
int32_t FindForward(const uniChar_t data, int32_t startPos=0);
int32_t FindBack(const char data, int32_t startPos=0x7FFFFFFF);
int32_t FindBack(const uniChar_t data, int32_t startPos=0x7FFFFFFF);
int32_t FindBack(const char data, int32_t startPos=0x7FFFFFFF);
int32_t FindBack(const uniChar_t data, int32_t startPos=0x7FFFFFFF);
bool IsEmpty(void) const;
int32_t Size(void) const;
@ -131,17 +131,17 @@ namespace etk
void Remove(int32_t currentID, int32_t len);
void Clear(void);
etk::VectorType<uniChar_t> GetVector(void);
uniChar_t * pointer(void) { return &m_data[0]; };
etk::Vector<uniChar_t> GetVector(void);
uniChar_t * pointer(void) { return &m_data[0]; };
// generate temporary allocation (auto unallocated...)
char * Utf8Data(void);
char * c_str(void);
// Sting operation :
etk::UString Extract(int32_t posStart=0, int32_t posEnd=0x7FFFFFFF);
private :
etk::VectorType<uniChar_t> m_data; //!< internal data is stored in the Unicode properties ...
etk::VectorType<char> m_dataUtf8; //!< Tmp data for the Utf8Data() function
etk::Vector<uniChar_t> m_data; //!< internal data is stored in the Unicode properties ...
etk::Vector<char> m_dataUtf8; //!< Tmp data for the Utf8Data() function
};
etk::CCout& operator <<(etk::CCout &os, const etk::UString &obj);

View File

@ -32,288 +32,691 @@
#undef __class__
#define __class__ "etk::Vector"
/**
* @brief etkVector classes ...
*
* @tparam[in] T The type of objects to store.
* @tparam[in] INC Incrementation mode (0 : Exponential to 200 and increment by stemp of 200)
*
* @todo : Need to add : popBack / Assign / Insert / Erase / Swap / Clear
*
* m_data
* ---------- |-----------------------|
* | 0 |-------->| Class Data |
* |--------| |-----------------------|
* | 1 |----|
* |--------| |
* | 2 |====|==============| |-----------------------|
* |--------| | --->| Class Data |
* m_count | 3 |-| | |-----------------------|
* |--------| | |
* | x | | | |-----------------------|
* |--------| | -------->| Class Data |
* | x | | |-----------------------|
* |--------| |
* | x | |
* |--------| | |-----------------------|
* | x | --------------------->| Class Data |
* |--------| |-----------------------|
* | x |
* |--------|
* | x |
* |--------|
* m_size | x |
* ----------
*
*/
namespace etk
{
template<class T, int32_t INC=0> class Vector
{
public:
/**
* @brief
* @brief Vector classes ...
*
* @param[in,out] ---
* @tparam[in] SIZE Size of the current element.
*
* @return ---
* m_data
* <------------ m_dataSize ------------>
* ----------------------------------------
* | 0 |
* |--------------------------------------|
* | 1 |
* |--------------------------------------|
* | 2 |
* |--------------------------------------|
* m_size | 3 |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* m_allocated | x |
* ----------------------------------------
*
*/
Vector(int count = 0):
m_data(NULL),
m_count(0),
m_size(0)
template<typename MY_TYPE=int32_t> class Vector
{
Resize(count);
}
public:
class Iterator
{
// Private data :
private:
int32_t m_current; //!< curent Id on the vector
Vector<MY_TYPE> * m_vector; //!< Pointer on the curent element of the vectorBin
public:
/**
* @brief Basic itarator constructor with no link with an etkVector
*/
Iterator():
m_current(-1),
m_vector(NULL)
{
// nothing to do ...
}
/**
* @brief Recopy constructor on a specific etkVector.
* @param[in] otherIterator The Iterator that might be copy
*/
Iterator(const Iterator & otherIterator):
m_current(otherIterator.m_current),
m_vector(otherIterator.m_vector)
{
// nothing to do ...
}
/**
* @brief Asignation operator.
* @param[in] otherIterator The Iterator that might be copy
* @return reference on the curent Iterator
*/
Iterator& operator=(const Iterator & otherIterator)
{
m_current = otherIterator.m_current;
m_vector = otherIterator.m_vector;
return *this;
}
/**
* @brief Basic destructor
*/
~Iterator()
{
m_current = -1;
m_vector = NULL;
}
/**
* @brief basic boolean cast
* @return true if the element is present in the etkVector size
*/
operator bool ()
{
if( 0 <= m_current
&& m_current < m_vector->Size() )
{
return true;
} else {
return false;
}
}
/**
* @brief Incremental operator
* @return Reference on the current iterator incremented
*/
Iterator& operator++ ()
{
if( NULL != m_vector
&& m_current < m_vector->Size() )
{
m_current++;
}
return *this;
}
/**
* @brief Decremental operator
* @return Reference on the current iterator decremented
*/
Iterator& operator-- ()
{
if (m_current >= 0) {
m_current--;
}
return *this;
}
/**
* @brief Incremental operator
* @return Reference on a new iterator and increment the other one
*/
Iterator operator++ (int32_t)
{
Iterator it(*this);
++(*this);
return it;
}
/**
* @brief Decremental operator
* @return Reference on a new iterator and decrement the other one
*/
Iterator operator-- (int32_t)
{
Iterator it(*this);
--(*this);
return it;
}
/**
* @brief Get reference on the current Element
* @return the reference on the current Element
*/
MY_TYPE & operator-> () const
{
TK_CHECK_INOUT(m_current >= 0 && m_current < m_vector->Size());
return &m_vector->Get(m_current);
}
/**
* @brief Get reference on the current Element
* @return the reference on the current Element
*/
MY_TYPE & operator* () const
{
TK_CHECK_INOUT(m_current >= 0 && m_current < m_vector->Size());
return m_vector->Get(m_current);
}
private:
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
Iterator(Vector<MY_TYPE> * Evb, int32_t pos):
m_current(pos),
m_vector(Evb)
{
// nothing to do ...
}
friend class Vector;
};
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
Vector(const etk::Vector<T> & myVector):
m_size(myVector.m_size),
m_count(myVector.m_count),
m_data(NULL)
{
int32_t i;
ETK_MALLOC_CAST(m_data, m_size, T, T*);//reinterpret_cast<T*>);
for(i=0; i<m_count; i++) {
new (&m_data[i]) T(myVector[i]);
}
}
private:
MY_TYPE * m_data; //!< pointer on the curetn table of Data
int32_t m_size; //!< nb Element in the buffer
int32_t m_allocated; //!< Current allocated size
int32_t m_increment; //!< methode of increment
public:
/**
* @brief Create an empty vector
* @param[in] count Minimum request size of the Buffer
*/
Vector(int32_t count = 0):
m_data(NULL),
m_size(0),
m_allocated(0),
m_increment(1)
{
ChangeAllocation(count);
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
~Vector()
{
Destroy();
}
/**
* @brief Re-copy constructor (copy all needed data)
* @param[in] Evb Vector that might be copy
*/
Vector(const etk::Vector<MY_TYPE> & Evb)
{
m_allocated = Evb.m_allocated;
m_size = Evb.m_size;
m_increment = Evb.m_increment;
m_data = NULL;
//TK_DEBUG("USE Specific vector allocator ... Evb.m_size=" << Evb.m_size << " Evb.m_increment=" << Evb.m_increment);
// allocate all same data
ETK_MALLOC(m_data, m_allocated, MY_TYPE);
TK_ASSERT(NULL!=m_data, "Error in data allocation");
// Copy all data ...
memcpy(m_data, Evb.m_data, m_allocated * sizeof(MY_TYPE) );
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
Vector& operator=(const etk::Vector<T> & etkVector)
{
int32_t i;
this->~etkVector();
m_size = etkVector.m_size;
m_count = etkVector.m_count;
ETK_MALLOC_CAST(m_data, m_size, T, T*);//reinterpret_cast<T*>);
for(i=0; i<m_count; i++) {
new (&m_data[i]) T(etkVector[i]);
}
return *this;
}
/**
* @brief Destructor of the current Class
*/
~Vector()
{
if (NULL!=m_data) {
ETK_FREE(m_data);
m_data = NULL;
}
m_allocated = 0;
m_size = 0;
m_increment = 0;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
int32_t Size()
{
return m_count;
}
/**
* @brief Re-copy operator
* @param[in] Evb Vector that might be copy
* @return reference on the curent re-copy vector
*/
Vector& operator=(const etk::Vector<MY_TYPE> & Evb)
{
//TK_DEBUG("USE RECOPY vector ... Evb.m_size=" << Evb.m_size << " Evb.m_increment=" << Evb.m_increment);
if( this != &Evb ) // avoid copy to itself
{
if (NULL!=m_data) {
ETK_FREE(m_data);
m_data = NULL;
}
// Set the new value
m_allocated = Evb.m_allocated;
m_size = Evb.m_size;
m_increment = Evb.m_increment;
// allocate all same data
ETK_MALLOC(m_data, m_allocated, MY_TYPE);
TK_ASSERT(NULL!=m_data, "Error in data allocation");
// Copy all data ...
memcpy(m_data, Evb.m_data, m_allocated * sizeof(MY_TYPE) );
}
// Return the curent pointer
return *this;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
T& Get(int32_t pos)
{
return m_data[pos];
}
/**
* @brief Add at the Last position of the Vector
* @param[in] item Element to add at the end of vector
*/
Vector& operator+= (const etk::Vector<MY_TYPE> & Evb) // += operator
{
int32_t nbElememt = Evb.Size();
int32_t idx = m_size;
Resize(m_size+nbElememt);
memcpy(&m_data[idx], &Evb.m_data[0], nbElememt*sizeof(MY_TYPE) );
// Return the curent pointer
return *this;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
T& operator[] (int32_t pos)
{
return Get(pos);
}
/**
* @brief Set increment mode of this vector (default it match corectly with the number of element inside)
* @param[in] newIncrementNumber methode requested
*/
void SetIncrement(int32_t newIncrementNumber)
{
m_increment = newIncrementNumber;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
const T& operator[] (int32_t pos) const
{
return m_data[pos];
}
/**
* @brief Get the number of element in the vector
* @return The number requested
*/
int32_t Size() const
{
return m_size;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
int IndexOf(const T * item) const
{
int32_t res = item - m_data;
if( 0 > res
|| res >= Size())
{
return -1;
} else {
return res;
}
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
void PushBack(const T& item)
{
int32_t idx = Size();
Resize(idx+1);
Get(idx) = item;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
void Resize(int32_t count)
{
int32_t i;
// Reallocate memory
if (count > m_size) {
ChangeAllocation(count);
}
// Remove deprecated element
for(i=count; i<m_count; i++) {
m_data[i].~T();
}
// Create nex item
for(i=m_count;i<count;i++) {
new (&m_data[i]) T();
}
m_count = count;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
void ChangeAllocation(int count)
{
if (count > m_size) {
// generate new size
while(count > m_size) {
if (INC) {
m_size = (m_size + INC);
} else if (m_size==0) {
m_size = 1;
} else {
m_size = m_size * 2;
/**
* @brief Get the Allocated size in the vector
* @return The size of allocation
*/
int32_t AllocatedSize() const
{
return m_allocated;
}
/**
* @brief Get a current element in the vector
* @param[in] pos Desired position read
* @return Reference on the Element
*/
MY_TYPE& Get(int32_t pos)
{
return m_data[pos];
}
/**
* @brief Get an copy Element an a special position
* @param[in] pos Position in the vector that might be get [0..Size()]
* @return An reference on the copy of selected element
*/
MY_TYPE& operator[] (int32_t pos)
{
return Get(pos);
}
/**
* @brief Get an Element an a special position
* @param[in] pos Position in the vector that might be get [0..Size()]
* @return An reference on the selected element
*/
const MY_TYPE& operator[] (int32_t pos) const
{
return m_data[pos];
}
/**
* @brief Add at the Last position of the Vector
* @param[in] item Element to add at the end of vector
*/
void PushBack(const MY_TYPE& item)
{
int32_t idx = m_size;
Resize(m_size+1);
m_data[idx] = item;
}
/**
* @brief Add at the Last position of the Vector
* @param[in] item Element to add at the end of vector
*/
void PushBack(const MY_TYPE * item, int32_t nbElement)
{
if (NULL == item) {
return;
}
int32_t idx = m_size;
Resize(m_size+nbElement);
memcpy(&m_data[idx], item, nbElement*sizeof(MY_TYPE) );
}
/**
* @brief Remove the last element of the vector
*/
void PopBack(void)
{
if(m_size>0) {
Resize(m_size-1);
}
}
// Allocate the curent element
T * data = NULL;
ETK_MALLOC_CAST(data, m_size, T, T*);//reinterpret_cast<T*>);
for(int i=0; i<m_count; i++) {
new (&data[i]) T(m_data[i]);
/**
* @brief Remove all alement in the current vector
*/
void Clear(void)
{
if(m_size>0) {
Resize(0);
}
}
Destroy();
m_data = data;
}
}
private:
T * m_data; //!< pointer on the current Data
int32_t m_count; //!< number of element
int32_t m_size; //!< current allocated size
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
void Insert(int32_t pos, const MY_TYPE& item)
{
if (pos>m_size) {
TK_ERROR(" can not insert Element at this position : " << pos << " > " << m_size<< " add it at the end ... ");
PushBack(item);
return;
}
int32_t tmpSize = m_size;
// Request resize of the current buffer
Resize(m_size+1);
// move curent data
int32_t sizeToMove = (tmpSize - pos)*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos + 1), (m_data + pos), sizeToMove );
}
// affectation of the current element
m_data[pos] = item;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
void Insert(int32_t pos, const MY_TYPE * item, int32_t nbElement)
{
if (pos>m_size) {
TK_WARNING(" can not insert Element at this position : " << pos << " > " << m_size << " add it at the end ... ");
PushBack(item, nbElement);
return;
}
int32_t tmpSize = m_size;
// Request resize of the current buffer
Resize(m_size+nbElement);
// move curent data (after the position)
int32_t sizeToMove = (tmpSize - pos)*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos + nbElement), (m_data + pos), sizeToMove );
}
// affectation of all input element
memcpy(&m_data[pos], item, nbElement*sizeof(MY_TYPE) );
}
/**
* @brief Remove one element
*
* @param[in] pos Position to remove the data
*
* @return ---
*
*/
void Erase(int32_t pos)
{
if (pos<0 || (uint32_t)pos>m_size) {
TK_ERROR(" can not Erase Element at this position : " << pos << " > " << m_size);
return;
}
int32_t tmpSize = m_size;
int32_t sizeToMove = (tmpSize - (pos+1))*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
// move curent data
memmove((m_data + pos), (m_data + pos + 1), sizeToMove );
}
// Request resize of the current buffer
Resize(m_size-1);
}
/**
* @brief Remove N elements
*
* @param[in] pos Position to remove the data
* @param[in] posEnd Last position number
*
* @return ---
*
*/
void Erase(int32_t pos, int32_t posEnd)
{
if (pos>m_size) {
TK_ERROR(" can not Erase Element at this position : " << pos << " > " << m_size);
return;
}
if (posEnd>m_size) {
posEnd = m_size;
}
int32_t nbElement = m_size - pos;
int32_t tmpSize = m_size;
// move curent data
int32_t sizeToMove = (tmpSize - (pos+nbElement))*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos), (m_data + pos + nbElement), sizeToMove );
}
// Request resize of the current buffer
Resize(m_size-nbElement);
}
/**
* @brief Remove N element
*
* @param[in] pos Position to remove the data
* @param[in] nbElement number of element to remove
*
* @return ---
*
*/
void EraseLen(int32_t pos, int32_t nbElement)
{
if (pos>m_size) {
TK_ERROR(" can not Erase Len Element at this position : " << pos << " > " << m_size);
return;
}
if (pos+nbElement>m_size) {
nbElement = m_size - pos;
}
int32_t tmpSize = m_size;
// move curent data
int32_t sizeToMove = (tmpSize - (pos+nbElement))*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos), (m_data + pos + nbElement), sizeToMove );
}
// Request resize of the current buffer
Resize(m_size-nbElement);
}
/**
* @brief extract data between two point :
* @param[in] posStart start position to extract data
* @param[in] posEnd End position to extract data
* @return the extracted vector
*/
Vector Extract(int32_t posStart = 0, int32_t posEnd=0x7FFFFFFF)
{
Vector<MY_TYPE> out;
if (posStart < 0) {
posStart = 0;
} else if (posStart >= Size() ) {
return out;
}
if (posEnd < 0) {
return out;
} else if (posEnd >= Size() ) {
posEnd = Size();
}
out.PushBack(&m_data[posStart], posEnd-posStart);
return out;
}
/**
* @brief Set the minimum allocation in memory for the curent vector ==> reallocate the
* buffer to fit exactly the mumber of element needed
*/
void Fit(void)
{
if (m_size > m_allocated) {
// Reallocate the curent data to the correct size ...
ETK_REALLOC(m_data, m_size, MY_TYPE);
}
// Check result with assert :
TK_ASSERT(NULL!=m_data, "Error in data Fitting");
m_allocated = m_size;
}
/**
* @brief Get an iterator an an specific position
* @param[in] pos Requested position of the iterator in the vector
* @return The Iterator
*/
Iterator Position(int32_t pos)
{
return Iterator(this, pos);
}
/**
* @brief Get an Iterator on the start position of the Vector
* @return The Iterator
*/
Iterator Begin(void)
{
return Position(0);
}
/**
* @brief Get an Iterator on the end position of the Vector
* @return The Iterator
*/
Iterator End(void)
{
return Position( Size()-1 );
}
private:
/**
* @brief Change the current size of the vector
* @param[in] newSize New requested size of element in the vector
*/
void Resize(int32_t newSize)
{
// Reallocate memory
if (newSize > m_allocated) {
ChangeAllocation(newSize);
}
m_size = newSize;
}
/**
* @brief Change the current allocation to the corect one (depend on the current size)
* @param[in] newSize Minimum number of element needed
*/
void ChangeAllocation(int32_t newSize)
{
// set the minimal size to 1
if(newSize <= 0) {
newSize = 1;
}
int32_t requestSize = m_allocated;
// set the size with the corect chose type :
if (newSize == m_allocated) {
return;
} else if (newSize < requestSize) {
// down the size of the vector:
if (0==m_increment) {
// never down size...
} else {
int32_t devide = m_increment;
if (devide == 0) {
devide = 1;
}
int32_t numberOfStep = m_allocated / devide;
if (newSize< ((numberOfStep-2)*devide + devide/2) ) {
//Allow Reallocation of a new size shorter
requestSize = ((newSize / devide)+1) * devide;
}
}
} else {
while(newSize > requestSize) {
if (0 == requestSize) {
requestSize = 1;
} else if (0==m_increment) {
requestSize = requestSize * 2;
} else {
requestSize = (requestSize + m_increment);
}
}
}
// No reallocation needed :
if (requestSize == m_allocated) {
return;
}
// check if something is allocated :
if (NULL == m_data) {
// no data allocated ==> request an allocation (might be the first)
ETK_MALLOC(m_data, requestSize, MY_TYPE);
} else {
// move datas
ETK_REALLOC(m_data, requestSize, MY_TYPE);
}
// Check result with assert :
TK_ASSERT(NULL!=m_data, "Error in data allocation");
// set the new allocation size
m_allocated = requestSize;
}
};
/**
* @brief
* @brief VectorP classes ...
*
* @param[in,out] ---
* @tparam[in] T The type of objects to store.
* @tparam[in] INC Incrementation mode (0 : Exponential to 200 and increment by stemp of 200)
*
* @return ---
* m_data
* ---------- |-----------------------|
* | 0 |-------->| Class Data |
* |--------| |-----------------------|
* | 1 |----|
* |--------| |
* | 2 |====|==============| |-----------------------|
* |--------| | --->| Class Data |
* m_count | 3 |-| | |-----------------------|
* |--------| | |
* | x | | | |-----------------------|
* |--------| | -------->| Class Data |
* | x | | |-----------------------|
* |--------| |
* | x | |
* |--------| | |-----------------------|
* | x | --------------------->| Class Data |
* |--------| |-----------------------|
* | x |
* |--------|
* | x |
* |--------|
* m_size | x |
* ----------
*
*/
void Destroy()
/*
template<class MY_CLASS> class VectorP private Vector<MY_CLASS*>
{
for(int i=0; i<m_count; i++) {
m_data[i].~T();
}
if (m_data) {
ETK_FREE(m_data);
}
}
};
};
*/
}
#undef __class__

View File

@ -1,687 +0,0 @@
/**
*******************************************************************************
* @file etk/VectorType.h
* @brief Ewol Tool Kit : Basic VectorType for direct data insertion (template)
* @author Edouard DUPIN
* @date 07/04/2011
* @par Project
* Ewol TK
*
* @par Copyright
* Copyright 2011 Edouard DUPIN, all right reserved
*
* This software is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY.
*
* Licence summary :
* You can modify and redistribute the sources code and binaries.
* You can send me the bug-fix
*
* Term of the licence in in the file licence.txt.
*
*******************************************************************************
*/
#ifndef __ETK_VECTOR_TYPE_H__
#define __ETK_VECTOR_TYPE_H__
#include <etk/Types.h>
#include <etk/DebugInternal.h>
#include <etk/Memory.h>
#undef __class__
#define __class__ "etk::VectorType"
/**
* @brief VectorType classes ...
*
* @tparam[in] SIZE Size of the current element.
*
* m_data
* <------------ m_dataSize ------------>
* ----------------------------------------
* | 0 |
* |--------------------------------------|
* | 1 |
* |--------------------------------------|
* | 2 |
* |--------------------------------------|
* m_size | 3 |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* | x |
* |--------------------------------------|
* m_allocated | x |
* ----------------------------------------
*
*/
namespace etk
{
template<typename MY_TYPE=int32_t> class VectorType
{
public:
class Iterator
{
// Private data :
private:
int32_t m_current; //!< curent Id on the vector
VectorType<MY_TYPE> * m_VectorType; //!< Pointer on the curent element of the vectorBin
public:
/**
* @brief Basic itarator constructor with no link with an etkVector
*/
Iterator():
m_current(-1),
m_VectorType(NULL)
{
// nothing to do ...
}
/**
* @brief Recopy constructor on a specific etkVector.
* @param[in] otherIterator The Iterator that might be copy
*/
Iterator(const Iterator & otherIterator):
m_current(otherIterator.m_current),
m_VectorType(otherIterator.m_VectorType)
{
// nothing to do ...
}
/**
* @brief Asignation operator.
* @param[in] otherIterator The Iterator that might be copy
* @return reference on the curent Iterator
*/
Iterator& operator=(const Iterator & otherIterator)
{
m_current = otherIterator.m_current;
m_VectorType = otherIterator.m_VectorType;
return *this;
}
/**
* @brief Basic destructor
*/
~Iterator()
{
m_current = -1;
m_VectorType = NULL;
}
/**
* @brief basic boolean cast
* @return true if the element is present in the etkVector size
*/
operator bool ()
{
if( 0 <= m_current
&& m_current < m_VectorType->Size() )
{
return true;
} else {
return false;
}
}
/**
* @brief Incremental operator
* @return Reference on the current iterator incremented
*/
Iterator& operator++ ()
{
if( NULL != m_VectorType
&& m_current < m_VectorType->Size() )
{
m_current++;
}
return *this;
}
/**
* @brief Decremental operator
* @return Reference on the current iterator decremented
*/
Iterator& operator-- ()
{
if (m_current >= 0) {
m_current--;
}
return *this;
}
/**
* @brief Incremental operator
* @return Reference on a new iterator and increment the other one
*/
Iterator operator++ (int32_t)
{
Iterator it(*this);
++(*this);
return it;
}
/**
* @brief Decremental operator
* @return Reference on a new iterator and decrement the other one
*/
Iterator operator-- (int32_t)
{
Iterator it(*this);
--(*this);
return it;
}
/**
* @brief Get reference on the current Element
* @return the reference on the current Element
*/
MY_TYPE & operator-> () const
{
TK_CHECK_INOUT(m_current >= 0 && m_current < m_VectorType->Size());
return &m_VectorType->Get(m_current);
}
/**
* @brief Get reference on the current Element
* @return the reference on the current Element
*/
MY_TYPE & operator* () const
{
TK_CHECK_INOUT(m_current >= 0 && m_current < m_VectorType->Size());
return m_VectorType->Get(m_current);
}
private:
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
Iterator(VectorType<MY_TYPE> * Evb, int32_t pos):
m_current(pos),
m_VectorType(Evb)
{
// nothing to do ...
}
friend class VectorType;
};
private:
MY_TYPE * m_data; //!< pointer on the curetn table of Data
int32_t m_size; //!< nb Element in the buffer
int32_t m_allocated; //!< Current allocated size
int32_t m_increment; //!< methode of increment
public:
/**
* @brief Create an empty vector
* @param[in] count Minimum request size of the Buffer
*/
VectorType(int32_t count = 0):
m_data(NULL),
m_size(0),
m_allocated(0),
m_increment(1)
{
ChangeAllocation(count);
}
/**
* @brief Re-copy constructor (copy all needed data)
* @param[in] Evb Vector that might be copy
*/
VectorType(const etk::VectorType<MY_TYPE> & Evb)
{
m_allocated = Evb.m_allocated;
m_size = Evb.m_size;
m_increment = Evb.m_increment;
m_data = NULL;
//TK_DEBUG("USE Specific vector allocator ... Evb.m_size=" << Evb.m_size << " Evb.m_increment=" << Evb.m_increment);
// allocate all same data
ETK_MALLOC(m_data, m_allocated, MY_TYPE);
TK_ASSERT(NULL!=m_data, "Error in data allocation");
// Copy all data ...
memcpy(m_data, Evb.m_data, m_allocated * sizeof(MY_TYPE) );
}
/**
* @brief Destructor of the current Class
*/
~VectorType()
{
if (NULL!=m_data) {
ETK_FREE(m_data);
m_data = NULL;
}
m_allocated = 0;
m_size = 0;
m_increment = 0;
}
/**
* @brief Re-copy operator
* @param[in] Evb Vector that might be copy
* @return reference on the curent re-copy vector
*/
VectorType& operator=(const etk::VectorType<MY_TYPE> & Evb)
{
//TK_DEBUG("USE RECOPY vector ... Evb.m_size=" << Evb.m_size << " Evb.m_increment=" << Evb.m_increment);
if( this != &Evb ) // avoid copy to itself
{
if (NULL!=m_data) {
ETK_FREE(m_data);
m_data = NULL;
}
// Set the new value
m_allocated = Evb.m_allocated;
m_size = Evb.m_size;
m_increment = Evb.m_increment;
// allocate all same data
ETK_MALLOC(m_data, m_allocated, MY_TYPE);
TK_ASSERT(NULL!=m_data, "Error in data allocation");
// Copy all data ...
memcpy(m_data, Evb.m_data, m_allocated * sizeof(MY_TYPE) );
}
// Return the curent pointer
return *this;
}
/**
* @brief Add at the Last position of the Vector
* @param[in] item Element to add at the end of vector
*/
VectorType& operator+= (const etk::VectorType<MY_TYPE> & Evb) // += operator
{
int32_t nbElememt = Evb.Size();
int32_t idx = m_size;
Resize(m_size+nbElememt);
memcpy(&m_data[idx], &Evb.m_data[0], nbElememt*sizeof(MY_TYPE) );
// Return the curent pointer
return *this;
}
/**
* @brief Set increment mode of this vector (default it match corectly with the number of element inside)
* @param[in] newIncrementNumber methode requested
*/
void SetIncrement(int32_t newIncrementNumber)
{
m_increment = newIncrementNumber;
}
/**
* @brief Get the number of element in the vector
* @return The number requested
*/
int32_t Size() const
{
return m_size;
}
/**
* @brief Get the Allocated size in the vector
* @return The size of allocation
*/
int32_t AllocatedSize() const
{
return m_allocated;
}
/**
* @brief Get a current element in the vector
* @param[in] pos Desired position read
* @return Reference on the Element
*/
MY_TYPE& Get(int32_t pos)
{
return m_data[pos];
}
/**
* @brief Get an copy Element an a special position
* @param[in] pos Position in the vector that might be get [0..Size()]
* @return An reference on the copy of selected element
*/
MY_TYPE& operator[] (int32_t pos)
{
return Get(pos);
}
/**
* @brief Get an Element an a special position
* @param[in] pos Position in the vector that might be get [0..Size()]
* @return An reference on the selected element
*/
const MY_TYPE& operator[] (int32_t pos) const
{
return m_data[pos];
}
/**
* @brief Add at the Last position of the Vector
* @param[in] item Element to add at the end of vector
*/
void PushBack(const MY_TYPE& item)
{
int32_t idx = m_size;
Resize(m_size+1);
m_data[idx] = item;
}
/**
* @brief Add at the Last position of the Vector
* @param[in] item Element to add at the end of vector
*/
void PushBack(const MY_TYPE * item, int32_t nbElement)
{
if (NULL == item) {
return;
}
int32_t idx = m_size;
Resize(m_size+nbElement);
memcpy(&m_data[idx], item, nbElement*sizeof(MY_TYPE) );
}
/**
* @brief Remove the last element of the vector
*/
void PopBack(void)
{
if(m_size>0) {
Resize(m_size-1);
}
}
/**
* @brief Remove all alement in the current vector
*/
void Clear(void)
{
if(m_size>0) {
Resize(0);
}
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
void Insert(int32_t pos, const MY_TYPE& item)
{
if (pos>m_size) {
TK_ERROR(" can not insert Element at this position : " << pos << " > " << m_size<< " add it at the end ... ");
PushBack(item);
return;
}
int32_t tmpSize = m_size;
// Request resize of the current buffer
Resize(m_size+1);
// move curent data
int32_t sizeToMove = (tmpSize - pos)*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos + 1), (m_data + pos), sizeToMove );
}
// affectation of the current element
m_data[pos] = item;
}
/**
* @brief
*
* @param[in,out] ---
*
* @return ---
*
*/
void Insert(int32_t pos, const MY_TYPE * item, int32_t nbElement)
{
if (pos>m_size) {
TK_WARNING(" can not insert Element at this position : " << pos << " > " << m_size << " add it at the end ... ");
PushBack(item, nbElement);
return;
}
int32_t tmpSize = m_size;
// Request resize of the current buffer
Resize(m_size+nbElement);
// move curent data (after the position)
int32_t sizeToMove = (tmpSize - pos)*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos + nbElement), (m_data + pos), sizeToMove );
}
// affectation of all input element
memcpy(&m_data[pos], item, nbElement*sizeof(MY_TYPE) );
}
/**
* @brief Remove one element
*
* @param[in] pos Position to remove the data
*
* @return ---
*
*/
void Erase(int32_t pos)
{
if (pos<0 || (uint32_t)pos>m_size) {
TK_ERROR(" can not Erase Element at this position : " << pos << " > " << m_size);
return;
}
int32_t tmpSize = m_size;
int32_t sizeToMove = (tmpSize - (pos+1))*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
// move curent data
memmove((m_data + pos), (m_data + pos + 1), sizeToMove );
}
// Request resize of the current buffer
Resize(m_size-1);
}
/**
* @brief Remove N elements
*
* @param[in] pos Position to remove the data
* @param[in] posEnd Last position number
*
* @return ---
*
*/
void Erase(int32_t pos, int32_t posEnd)
{
if (pos>m_size) {
TK_ERROR(" can not Erase Element at this position : " << pos << " > " << m_size);
return;
}
if (posEnd>m_size) {
posEnd = m_size;
}
int32_t nbElement = m_size - pos;
int32_t tmpSize = m_size;
// move curent data
int32_t sizeToMove = (tmpSize - (pos+nbElement))*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos), (m_data + pos + nbElement), sizeToMove );
}
// Request resize of the current buffer
Resize(m_size-nbElement);
}
/**
* @brief Remove N element
*
* @param[in] pos Position to remove the data
* @param[in] nbElement number of element to remove
*
* @return ---
*
*/
void EraseLen(int32_t pos, int32_t nbElement)
{
if (pos>m_size) {
TK_ERROR(" can not Erase Len Element at this position : " << pos << " > " << m_size);
return;
}
if (pos+nbElement>m_size) {
nbElement = m_size - pos;
}
int32_t tmpSize = m_size;
// move curent data
int32_t sizeToMove = (tmpSize - (pos+nbElement))*sizeof(MY_TYPE);
if ( 0 < sizeToMove) {
memmove((m_data + pos), (m_data + pos + nbElement), sizeToMove );
}
// Request resize of the current buffer
Resize(m_size-nbElement);
}
/**
* @brief extract data between two point :
* @param[in] posStart start position to extract data
* @param[in] posEnd End position to extract data
* @return the extracted vector
*/
VectorType Extract(int32_t posStart = 0, int32_t posEnd=0x7FFFFFFF)
{
VectorType<MY_TYPE> out;
if (posStart < 0) {
posStart = 0;
} else if (posStart >= Size() ) {
return out;
}
if (posEnd < 0) {
return out;
} else if (posEnd >= Size() ) {
posEnd = Size();
}
out.PushBack(&m_data[posStart], posEnd-posStart);
return out;
}
/**
* @brief Set the minimum allocation in memory for the curent vector ==> reallocate the
* buffer to fit exactly the mumber of element needed
*/
void Fit(void)
{
if (m_size > m_allocated) {
// Reallocate the curent data to the correct size ...
ETK_REALLOC(m_data, m_size, MY_TYPE);
}
// Check result with assert :
TK_ASSERT(NULL!=m_data, "Error in data Fitting");
m_allocated = m_size;
}
/**
* @brief Get an iterator an an specific position
* @param[in] pos Requested position of the iterator in the vector
* @return The Iterator
*/
Iterator Position(int32_t pos)
{
return Iterator(this, pos);
}
/**
* @brief Get an Iterator on the start position of the Vector
* @return The Iterator
*/
Iterator Begin(void)
{
return Position(0);
}
/**
* @brief Get an Iterator on the end position of the Vector
* @return The Iterator
*/
Iterator End(void)
{
return Position( Size()-1 );
}
private:
/**
* @brief Change the current size of the vector
* @param[in] newSize New requested size of element in the vector
*/
void Resize(int32_t newSize)
{
// Reallocate memory
if (newSize > m_allocated) {
ChangeAllocation(newSize);
}
m_size = newSize;
}
/**
* @brief Change the current allocation to the corect one (depend on the current size)
* @param[in] newSize Minimum number of element needed
*/
void ChangeAllocation(int32_t newSize)
{
// set the minimal size to 1
if(newSize <= 0) {
newSize = 1;
}
int32_t requestSize = m_allocated;
// set the size with the corect chose type :
if (newSize == m_allocated) {
return;
} else if (newSize < requestSize) {
// down the size of the vector:
if (0==m_increment) {
// never down size...
} else {
int32_t devide = m_increment;
if (devide == 0) {
devide = 1;
}
int32_t numberOfStep = m_allocated / devide;
if (newSize< ((numberOfStep-2)*devide + devide/2) ) {
//Allow Reallocation of a new size shorter
requestSize = ((newSize / devide)+1) * devide;
}
}
} else {
while(newSize > requestSize) {
if (0 == requestSize) {
requestSize = 1;
} else if (0==m_increment) {
requestSize = requestSize * 2;
} else {
requestSize = (requestSize + m_increment);
}
}
}
// No reallocation needed :
if (requestSize == m_allocated) {
return;
}
// check if something is allocated :
if (NULL == m_data) {
// no data allocated ==> request an allocation (might be the first)
ETK_MALLOC(m_data, requestSize, MY_TYPE);
} else {
// move datas
ETK_REALLOC(m_data, requestSize, MY_TYPE);
}
// Check result with assert :
TK_ASSERT(NULL!=m_data, "Error in data allocation");
// set the new allocation size
m_allocated = requestSize;
}
};
}
#undef __class__
#define __class__ NULL
#endif

View File

@ -39,9 +39,9 @@ int32_t etk::tool::irand(int32_t a, int32_t b)
}
void etk::tool::SortList(etk::VectorType<etk::UString *> &m_listDirectory)
void etk::tool::SortList(etk::Vector<etk::UString *> &m_listDirectory)
{
etk::VectorType<etk::UString *> tmpList = m_listDirectory;
etk::Vector<etk::UString *> tmpList = m_listDirectory;
m_listDirectory.Clear();
for(int32_t iii=0; iii<tmpList.Size(); iii++) {
@ -55,4 +55,30 @@ void etk::tool::SortList(etk::VectorType<etk::UString *> &m_listDirectory)
//EWOL_DEBUG("position="<<findPos);
m_listDirectory.Insert(findPos, tmpList[iii]);
}
}
}
bool etk::tool::strnCmpNoCase(const char * input1, const char * input2, int32_t maxLen)
{
int32_t iii=0;
while ('\0' != *input1 && '\0' != *input2 && iii < maxLen) {
char in1 = *input1;
char in2 = *input2;
if (in1 != in2) {
if (in1 <= 'Z' && in1 >= 'A') {
in1 = in1 - 'A' + 'a';
}
if (in2 <= 'Z' && in2 >= 'A') {
in2 = in2 - 'A' + 'a';
}
if (in1 != in2) {
return false;
}
}
iii++;
input1++;
input2++;
}
return true;
}

View File

@ -32,7 +32,8 @@ namespace etk {
namespace tool {
float frand(float a, float b);
int32_t irand(int32_t a, int32_t b);
void SortList(etk::VectorType<etk::UString *> &m_listDirectory);
void SortList(etk::Vector<etk::UString *> &m_listDirectory);
bool strnCmpNoCase(const char * input1, const char * input2, int32_t maxLen);
};
};

View File

@ -99,7 +99,7 @@ void unicode::convertUnicodeToIso(charset_te inputCharset, uniChar_t input_Unico
}
int32_t unicode::convertIsoToUnicode(charset_te inputCharset, etk::VectorType<char>& input_ISO, etk::VectorType<uniChar_t>& output_Unicode)
int32_t unicode::convertIsoToUnicode(charset_te inputCharset, etk::Vector<char>& input_ISO, etk::Vector<uniChar_t>& output_Unicode)
{
output_Unicode.Clear();
uniChar_t output;
@ -115,7 +115,7 @@ int32_t unicode::convertIsoToUnicode(charset_te inputCharset, etk::VectorType<ch
return output_Unicode.Size();
}
int32_t unicode::convertIsoToUnicode(charset_te inputCharset, etk::VectorType<int8_t>& input_ISO, etk::VectorType<uniChar_t>& output_Unicode)
int32_t unicode::convertIsoToUnicode(charset_te inputCharset, etk::Vector<int8_t>& input_ISO, etk::Vector<uniChar_t>& output_Unicode)
{
output_Unicode.Clear();
uniChar_t output;
@ -132,7 +132,7 @@ int32_t unicode::convertIsoToUnicode(charset_te inputCharset, etk::VectorType<in
}
int32_t unicode::convertUnicodeToIso(charset_te inputCharset, etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<char>& output_ISO)
int32_t unicode::convertUnicodeToIso(charset_te inputCharset, etk::Vector<uniChar_t>& input_Unicode, etk::Vector<char>& output_ISO)
{
output_ISO.Clear();
char output[10];
@ -148,7 +148,7 @@ int32_t unicode::convertUnicodeToIso(charset_te inputCharset, etk::VectorType<un
return output_ISO.Size();
}
int32_t unicode::convertUnicodeToIso(charset_te inputCharset, etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<int8_t>& output_ISO)
int32_t unicode::convertUnicodeToIso(charset_te inputCharset, etk::Vector<uniChar_t>& input_Unicode, etk::Vector<int8_t>& output_ISO)
{
output_ISO.Clear();
char output[10];
@ -254,7 +254,7 @@ void unicode::convertUtf8ToUnicode(char * input_UTF8, uniChar_t &output_Unicode)
}
int32_t unicode::convertUnicodeToUtf8(const etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<char>& output_UTF8)
int32_t unicode::convertUnicodeToUtf8(const etk::Vector<uniChar_t>& input_Unicode, etk::Vector<char>& output_UTF8)
{
char output[10];
@ -270,7 +270,7 @@ int32_t unicode::convertUnicodeToUtf8(const etk::VectorType<uniChar_t>& input_Un
return output_UTF8.Size()-1;
}
int32_t unicode::convertUnicodeToUtf8(const etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<int8_t>& output_UTF8)
int32_t unicode::convertUnicodeToUtf8(const etk::Vector<uniChar_t>& input_Unicode, etk::Vector<int8_t>& output_UTF8)
{
char output[10];
@ -287,7 +287,7 @@ int32_t unicode::convertUnicodeToUtf8(const etk::VectorType<uniChar_t>& input_Un
}
int32_t unicode::convertUtf8ToUnicode(etk::VectorType<char>& input_UTF8, etk::VectorType<uniChar_t>& output_Unicode)
int32_t unicode::convertUtf8ToUnicode(etk::Vector<char>& input_UTF8, etk::Vector<uniChar_t>& output_Unicode)
{
char tmpData[20];
int32_t pos = 0;
@ -338,7 +338,7 @@ int32_t unicode::convertUtf8ToUnicode(etk::VectorType<char>& input_UTF8, etk::Ve
return 0;
}
int32_t unicode::convertUtf8ToUnicode(etk::VectorType<int8_t>& input_UTF8, etk::VectorType<uniChar_t>& output_Unicode)
int32_t unicode::convertUtf8ToUnicode(etk::Vector<int8_t>& input_UTF8, etk::Vector<uniChar_t>& output_Unicode)
{
char tmpData[20];
int32_t pos = 0;
@ -389,7 +389,7 @@ int32_t unicode::convertUtf8ToUnicode(etk::VectorType<int8_t>& input_UTF8, etk::
return 0;
}
int32_t unicode::convertUtf8ToUnicode(char * input_UTF8, etk::VectorType<uniChar_t>& output_Unicode)
int32_t unicode::convertUtf8ToUnicode(char * input_UTF8, etk::Vector<uniChar_t>& output_Unicode)
{
char tmpData[20];
int32_t pos = 0;
@ -466,14 +466,14 @@ void unicode::convertUtf8ToIso(charset_te inputCharset, char * input_UTF8, char
}
int32_t unicode::convertIsoToUtf8(charset_te inputCharset, etk::VectorType<char>& input_ISO, etk::VectorType<char>& output_UTF8)
int32_t unicode::convertIsoToUtf8(charset_te inputCharset, etk::Vector<char>& input_ISO, etk::Vector<char>& output_UTF8)
{
TK_WARNING("TODO : not coded...");
return 0;
}
int32_t unicode::convertUtf8ToIso(charset_te inputCharset, etk::VectorType<char>& input_UTF8, etk::VectorType<char>& output_ISO)
int32_t unicode::convertUtf8ToIso(charset_te inputCharset, etk::Vector<char>& input_UTF8, etk::Vector<char>& output_ISO)
{
TK_WARNING("TODO : not coded...");
return 0;

View File

@ -26,7 +26,7 @@
#define __UNICODE_H__
#include <etk/Types.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
namespace unicode {
typedef enum {
EDN_CHARSET_UTF8,
@ -47,25 +47,25 @@ namespace unicode {
} charset_te;
// transform ISO <==> Unicode
void convertIsoToUnicode(charset_te inputCharset, char input_ISO, uniChar_t & output_Unicode);
void convertUnicodeToIso(charset_te inputCharset, uniChar_t input_Unicode, char & output_ISO);
int32_t convertIsoToUnicode(charset_te inputCharset, etk::VectorType<char>& input_ISO, etk::VectorType<uniChar_t>& output_Unicode);
int32_t convertIsoToUnicode(charset_te inputCharset, etk::VectorType<int8_t>& input_ISO, etk::VectorType<uniChar_t>& output_Unicode);
int32_t convertUnicodeToIso(charset_te inputCharset, etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<char>& output_ISO);
int32_t convertUnicodeToIso(charset_te inputCharset, etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<int8_t>& output_ISO);
void convertIsoToUnicode(charset_te inputCharset, char input_ISO, uniChar_t & output_Unicode);
void convertUnicodeToIso(charset_te inputCharset, uniChar_t input_Unicode, char & output_ISO);
int32_t convertIsoToUnicode(charset_te inputCharset, etk::Vector<char>& input_ISO, etk::Vector<uniChar_t>& output_Unicode);
int32_t convertIsoToUnicode(charset_te inputCharset, etk::Vector<int8_t>& input_ISO, etk::Vector<uniChar_t>& output_Unicode);
int32_t convertUnicodeToIso(charset_te inputCharset, etk::Vector<uniChar_t>& input_Unicode, etk::Vector<char>& output_ISO);
int32_t convertUnicodeToIso(charset_te inputCharset, etk::Vector<uniChar_t>& input_Unicode, etk::Vector<int8_t>& output_ISO);
// Transform UTF-8 <==> Unicode
void convertUnicodeToUtf8( uniChar_t input_Unicode, char * output_UTF8);
void convertUtf8ToUnicode( char * input_UTF8, uniChar_t& output_Unicode);
int32_t convertUnicodeToUtf8( const etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<char>& output_UTF8);
int32_t convertUnicodeToUtf8( const etk::VectorType<uniChar_t>& input_Unicode, etk::VectorType<int8_t>& output_UTF8);
int32_t convertUtf8ToUnicode( etk::VectorType<char>& input_UTF8, etk::VectorType<uniChar_t>& output_Unicode);
int32_t convertUtf8ToUnicode( etk::VectorType<int8_t>& input_UTF8, etk::VectorType<uniChar_t>& output_Unicode);
int32_t convertUtf8ToUnicode( char * input_UTF8, etk::VectorType<uniChar_t>& output_Unicode);
void convertUnicodeToUtf8( uniChar_t input_Unicode, char * output_UTF8);
void convertUtf8ToUnicode( char * input_UTF8, uniChar_t& output_Unicode);
int32_t convertUnicodeToUtf8( const etk::Vector<uniChar_t>& input_Unicode, etk::Vector<char>& output_UTF8);
int32_t convertUnicodeToUtf8( const etk::Vector<uniChar_t>& input_Unicode, etk::Vector<int8_t>& output_UTF8);
int32_t convertUtf8ToUnicode( etk::Vector<char>& input_UTF8, etk::Vector<uniChar_t>& output_Unicode);
int32_t convertUtf8ToUnicode( etk::Vector<int8_t>& input_UTF8, etk::Vector<uniChar_t>& output_Unicode);
int32_t convertUtf8ToUnicode( char * input_UTF8, etk::Vector<uniChar_t>& output_Unicode);
// Transform ISO <==> UTF-8
void convertIsoToUtf8( charset_te inputCharset, char input_ISO, char * output_UTF8);
void convertUtf8ToIso( charset_te inputCharset, char * input_UTF8, char & output_ISO);
int32_t convertIsoToUtf8( charset_te inputCharset, etk::VectorType<char>& input_ISO, etk::VectorType<char>& output_UTF8);
int32_t convertUtf8ToIso( charset_te inputCharset, etk::VectorType<char>& input_UTF8, etk::VectorType<char>& output_ISO);
void convertIsoToUtf8( charset_te inputCharset, char input_ISO, char * output_UTF8);
void convertUtf8ToIso( charset_te inputCharset, char * input_UTF8, char & output_ISO);
int32_t convertIsoToUtf8( charset_te inputCharset, etk::Vector<char>& input_ISO, etk::Vector<char>& output_UTF8);
int32_t convertUtf8ToIso( charset_te inputCharset, etk::Vector<char>& input_UTF8, etk::Vector<char>& output_ISO);
void Utf8_SizeElement(const char * data, int32_t lenMax , uint8_t &size, bool &baseValid);
int32_t strUtf8Len(const char *input_UTF8);

View File

@ -311,9 +311,9 @@ class RequestPlay {
}
};
#include <etk/VectorType.h>
etk::VectorType<EffectsLoaded*> ListEffects;
etk::VectorType<RequestPlay*> ListEffectsPlaying;
#include <etk/Vector.h>
etk::Vector<EffectsLoaded*> ListEffects;
etk::Vector<RequestPlay*> ListEffectsPlaying;
int32_t ewol::audio::effects::Add(etk::UString file)

View File

@ -38,7 +38,7 @@ extern "C" {
};
// internal element of the widget manager :
static etk::VectorType<messageList_ts> m_messageList; // all widget allocated ==> all time increment ... never removed ...
static etk::Vector<messageList_ts> m_messageList; // all widget allocated ==> all time increment ... never removed ...
void ewol::EObjectMessageMultiCast::Init(void)

View File

@ -27,7 +27,7 @@
#include <etk/Types.h>
#include <etk/UString.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
namespace ewol {
namespace EObjectMessageMultiCast {
@ -55,8 +55,8 @@ namespace ewol {
class EObject {
private:
int32_t m_uniqueId; //!< Object UniqueID ==> TODO : Check if it use is needed
etk::VectorType<EventExtGen*> m_externEvent; //!< Generic list of event generation for output link
etk::VectorType<const char*> m_availlableEventId; //!< List of all event availlable for this widget
etk::Vector<EventExtGen*> m_externEvent; //!< Generic list of event generation for output link
etk::Vector<const char*> m_availlableEventId; //!< List of all event availlable for this widget
public:
/**
* @brief Constructor

View File

@ -31,8 +31,8 @@
static bool IsInit = false;
// internal element of the widget manager :
static etk::VectorType<ewol::EObject*> m_eObjectList; // all widget allocated ==> all time increment ... never removed ...
static etk::VectorType<ewol::EObject*> m_eObjectAutoRemoveList; // all widget allocated
static etk::Vector<ewol::EObject*> m_eObjectList; // all widget allocated ==> all time increment ... never removed ...
static etk::Vector<ewol::EObject*> m_eObjectAutoRemoveList; // all widget allocated
void ewol::EObjectManager::Init(void)

View File

@ -57,27 +57,27 @@ namespace ewol
clipping_ts & drawClipping,
const etk::UString & unicodeString,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex);
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex);
int32_t DrawText(int32_t fontID,
Vector2D<float> textPos,
clipping_ts & drawClipping,
const uniChar_t unicodeChar,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex);
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex);
int32_t DrawText(int32_t fontID,
Vector2D<float> textPos,
const etk::UString & unicodeString,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex);
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex);
int32_t DrawText(int32_t fontID,
Vector2D<float> textPos,
const uniChar_t unicodeChar,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex);
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex);
int32_t LoadFont(etk::File fontFileName);
};

View File

@ -25,7 +25,7 @@
#include <ewol/Font.h>
#include <ewol/Texture.h>
#include <etk/unicode.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
#include <ewol/importgl.h>
extern "C" {
@ -220,7 +220,7 @@ class FTFontInternal
}
public:
etk::UString GetFontName(void) {return m_fontName;};
bool GenerateBitmapFont(int32_t size, int32_t &height, int32_t & textureId, etk::VectorType<freeTypeFontElement_ts> & listElement)
bool GenerateBitmapFont(int32_t size, int32_t &height, int32_t & textureId, etk::Vector<freeTypeFontElement_ts> & listElement)
{
// 300dpi (hight quality) 96 dpi (normal quality)
int32_t fontQuality = 96;
@ -378,7 +378,7 @@ class FTFontInternal
FT_Face m_fftFace;
};
static etk::VectorType<FTFontInternal*> m_listLoadedTTFont;
static etk::Vector<FTFontInternal*> m_listLoadedTTFont;
static etk::UString s_currentFolderName = "";
@ -436,7 +436,7 @@ class FTFont{
return false;
};
etk::VectorType<freeTypeFontElement_ts> & GetRefOnElement(void)
etk::Vector<freeTypeFontElement_ts> & GetRefOnElement(void)
{
return m_elements;
};
@ -462,10 +462,10 @@ class FTFont{
int32_t m_size; // nb pixel height
int32_t m_lineHeight; // nb pixel height
int32_t m_interline; // nb pixel between 2 lines
etk::VectorType<freeTypeFontElement_ts> m_elements; //
etk::Vector<freeTypeFontElement_ts> m_elements; //
};
static etk::VectorType<FTFont*> m_listLoadedFont;
static etk::Vector<FTFont*> m_listLoadedFont;
#undef __class__
#define __class__ "ewol::FontFreeType"
@ -579,14 +579,14 @@ int32_t ewol::DrawText(int32_t fontID,
clipping_ts & drawClipping,
const etk::UString& unicodeString,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex)
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex)
{
if(fontID>=m_listLoadedFont.Size() || fontID < 0) {
EWOL_WARNING("try to display text with an fontID that does not existed " << fontID);
return 0;
}
etk::VectorType<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
etk::Vector<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
fontTextureId = m_listLoadedFont[fontID]->GetOglId();
int32_t fontSize = m_listLoadedFont[fontID]->GetSize();
@ -763,15 +763,15 @@ int32_t ewol::DrawText(int32_t fontID,
clipping_ts & drawClipping,
const uniChar_t unicodeChar,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex)
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex)
{
#if 0
if(fontID>=m_listLoadedFont.Size() || fontID < 0) {
EWOL_WARNING("try to display text with an fontID that does not existed " << fontID);
return 0;
}
etk::VectorType<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
etk::Vector<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
fontTextureId = m_listLoadedFont[fontID]->GetOglId();
int32_t fontSize = m_listLoadedFont[fontID]->GetSize();
@ -920,14 +920,14 @@ int32_t ewol::DrawText(int32_t fontID,
Vector2D<float> textPos,
const etk::UString& unicodeString,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex)
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex)
{
if(fontID>=m_listLoadedFont.Size() || fontID < 0) {
EWOL_WARNING("try to display text with an fontID that does not existed " << fontID);
return 0;
}
etk::VectorType<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
etk::Vector<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
fontTextureId = m_listLoadedFont[fontID]->GetOglId();
int32_t fontSize = m_listLoadedFont[fontID]->GetSize();
@ -1056,14 +1056,14 @@ int32_t ewol::DrawText(int32_t fontID,
Vector2D<float> textPos,
const uniChar_t unicodeChar,
int32_t & fontTextureId,
etk::VectorType<Vector2D<float> > & coord,
etk::VectorType<texCoord_ts> & coordTex)
etk::Vector<Vector2D<float> > & coord,
etk::Vector<texCoord_ts> & coordTex)
{
if(fontID>=m_listLoadedFont.Size() || fontID < 0) {
EWOL_WARNING("try to display text with an fontID that does not existed " << fontID);
return 0;
}
etk::VectorType<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
etk::Vector<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
fontTextureId = m_listLoadedFont[fontID]->GetOglId();
int32_t fontSize = m_listLoadedFont[fontID]->GetSize();
@ -1187,7 +1187,7 @@ int32_t ewol::GetWidth(int32_t fontID, const etk::UString& unicodeString)
EWOL_WARNING("try to display text with an fontID that does not existed " << fontID);
return 0;
}
etk::VectorType<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
etk::Vector<freeTypeFontElement_ts> & listOfElement = m_listLoadedFont[fontID]->GetRefOnElement();
float posDrawX = 0.0;
for(int32_t iii=0; iii<unicodeString.Size(); iii++) {

View File

@ -34,7 +34,7 @@
//For every acces :
static ewol::GameElementLua * tmpObj = NULL;
static etk::VectorType<ewol::Sprite*> * tmpSprite = NULL;
static etk::Vector<ewol::Sprite*> * tmpSprite = NULL;
static ewol::SceneElement * tmpScene = NULL;
template <typename T> int index(lua_State* L);
@ -90,12 +90,12 @@ template <typename T> class LuaValue
lua_pushcfunction(L, newindex<T>);
lua_setfield(L, -2, "__newindex");
lua_setmetatable(L, -2);
lua_setglobal(L, name.Utf8Data());
lua_setglobal(L, name.c_str());
}
virtual ~LuaValue(void)
{
lua_pushnil(L);
lua_setglobal(L, name.Utf8Data());
lua_setglobal(L, name.c_str());
ptr = 0;
L = 0;
}
@ -399,7 +399,7 @@ LUAMOD_API int lua_ElementAdd(lua_State *L)
int32_t group = luaL_checkint(L, 2);
// TODO : Remove this when find an other way do do it ...
ewol::GameElementLua * ttmpObj = tmpObj;
etk::VectorType<ewol::Sprite*> * ttmpSprite = tmpSprite;
etk::Vector<ewol::Sprite*> * ttmpSprite = tmpSprite;
ewol::SceneElement * ttmpScene = tmpScene;
uint32_t elementId = tmpScene->AddElementNamed(group, elementName);
tmpObj = ttmpObj;
@ -542,7 +542,7 @@ LUAMOD_API int lua_HaveImpact(lua_State *L)
// TODO : Remove this when find an other way do do it ...
ewol::GameElementLua * ttmpObj = tmpObj;
etk::VectorType<ewol::Sprite*> * ttmpSprite = tmpSprite;
etk::Vector<ewol::Sprite*> * ttmpSprite = tmpSprite;
ewol::SceneElement * ttmpScene = tmpScene;
bool result = tmpScene->HaveImpact(tmpObj->GroupGet(), tmpObj->TypeGet(), tmpObj->PositionGet(), tmpObj->SizeGet());
@ -566,7 +566,7 @@ LUAMOD_API int lua_Explosion(lua_State *L)
// TODO : Remove this when find an other way do do it ...
ewol::GameElementLua * ttmpObj = tmpObj;
etk::VectorType<ewol::Sprite*> * ttmpSprite = tmpSprite;
etk::Vector<ewol::Sprite*> * ttmpSprite = tmpSprite;
ewol::SceneElement * ttmpScene = tmpScene;
tmpScene->Explosion(tmpObj->GroupGet(), tmpObj->TypeGet(), tmpObj->PositionGet(), 0.01, tmpObj->PowerGet());
@ -674,7 +674,7 @@ ewol::GameElementLua::GameElementLua(ewol::SceneElement & sceneElement, etk::USt
// close the file:
fileElement.fClose();
if (luaL_loadbuffer(m_luaState, fileBuffer, fileSize, tmpName.Utf8Data())) {
if (luaL_loadbuffer(m_luaState, fileBuffer, fileSize, tmpName.c_str())) {
//if (luaL_loadfile(m_luaState, "/home/heero/dev/perso/TethysDefender/assets/elementGame/Cube.lua" ) ) {
EWOL_ERROR("LUA: " << lua_tostring(m_luaState, -1));
return;
@ -899,8 +899,8 @@ void ewol::GameElementLua::Message(etk::UString control, etk::UString message)
if(!lua_isfunction(m_luaState,-1)) {
lua_pop(m_luaState,1);
} else {
lua_pushstring(m_luaState, control.Utf8Data());
lua_pushstring(m_luaState, message.Utf8Data());
lua_pushstring(m_luaState, control.c_str());
lua_pushstring(m_luaState, message.c_str());
// do the call (2 arguments, 0 result)
if (lua_pcall(m_luaState, 2, 0, 0) != 0) {
EWOL_ERROR("LUA: error running function 'Message':" << lua_tostring(m_luaState, -1));

View File

@ -54,10 +54,10 @@ namespace ewol {
int32_t numberOfGroup; //!< curent scene number of group
etk::UString groupDescription[MAX_GROUP_NUMBER]; //!< name of all the groups
int32_t groupEnemy[MAX_GROUP_NUMBER][MAX_GROUP_NUMBER]; //!< list of the ennemy
etk::VectorType<ewol::Sprite*> animated; //!< element that must be display the second
etk::VectorType<ewol::GameElement*> listAnimatedElements[MAX_GROUP_NUMBER]; //!< generic element to display order in the diffferent group
etk::VectorType<ewol::GameElement*> listGarbage; //!< garbage of the old element allocated ==> prevent multiple alloc and free
etk::VectorType<listRegisteElement*> listCreatorElement; //!< list of all creatable elements
etk::Vector<ewol::Sprite*> animated; //!< element that must be display the second
etk::Vector<ewol::GameElement*> listAnimatedElements[MAX_GROUP_NUMBER]; //!< generic element to display order in the diffferent group
etk::Vector<ewol::GameElement*> listGarbage; //!< garbage of the old element allocated ==> prevent multiple alloc and free
etk::Vector<listRegisteElement*> listCreatorElement; //!< list of all creatable elements
int16_t GetUniqueId(void) { int16_t iddd = m_id; m_id++; return iddd; };
void RegisterElementType(etk::UString name, creatorElement_tf * loadElement, etk::UString userString);
void RmElement(int32_t group, int32_t idElement);

View File

@ -26,10 +26,11 @@
#define __EWOL_O_OBJECT_H__
#include <etk/Types.h>
#include <etk/Color.h>
#include <etk/File.h>
#include <ewol/Debug.h>
#include <ewol/Font.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
namespace ewol {
extern "C" {

View File

@ -80,7 +80,7 @@ void ewol::OObject2DColored::Clear(void)
}
void generatePolyGone(etk::VectorType<Vector2D<float> > & input, etk::VectorType<Vector2D<float> > & output )
void generatePolyGone(etk::Vector<Vector2D<float> > & input, etk::Vector<Vector2D<float> > & output )
{
if (input.Size()<3) {
return;
@ -94,7 +94,7 @@ void generatePolyGone(etk::VectorType<Vector2D<float> > & input, etk::VectorType
//EWOL_DEBUG("generate Plygone : " << input.Size() << " ==> " << output.Size() );
}
void SutherlandHodgman(etk::VectorType<Vector2D<float> > & input, etk::VectorType<Vector2D<float> > & output, float sx, float sy, float ex, float ey)
void SutherlandHodgman(etk::Vector<Vector2D<float> > & input, etk::Vector<Vector2D<float> > & output, float sx, float sy, float ex, float ey)
{
// with Sutherland-Hodgman-Algorithm
if (input.Size() <0) {
@ -298,7 +298,7 @@ void ewol::OObject2DColored::GenerateTriangle(void)
}
void ewol::OObject2DColored::SetColor(color_ts color)
void ewol::OObject2DColored::SetColor(etk::Color color)
{
if (m_triElement < 1) {
m_color[0] = color;
@ -315,22 +315,13 @@ void ewol::OObject2DColored::SetColor(color_ts color)
void ewol::OObject2DColored::SetColor(float red, float green, float blue, float alpha)
{
if (m_triElement < 1) {
m_color[0].red = red*255;
m_color[0].green = green*255;
m_color[0].blue = blue*255;
m_color[0].alpha = alpha*255;
m_color[0] = etk::Color(red, green, blue, alpha);
}
if (m_triElement < 2) {
m_color[1].red = red*255;
m_color[1].green = green*255;
m_color[1].blue = blue*255;
m_color[1].alpha = alpha*255;
m_color[1] = etk::Color(red, green, blue, alpha);
}
if (m_triElement < 3) {
m_color[2].red = red*255;
m_color[2].green = green*255;
m_color[2].blue = blue*255;
m_color[2].alpha = alpha*255;
m_color[2] = etk::Color(red, green, blue, alpha);
}
}

View File

@ -36,18 +36,18 @@ namespace ewol {
public:
virtual void Draw(void);
protected:
etk::VectorType<Vector2D<float> > m_coord; //!< internal coord of the object
etk::VectorType<color_ts> m_coordColor; //!< internal color of the different point
//etk::VectorType<linkCoord_ts> m_linkCoord; //!< internal link between point to generate triangle
etk::Vector<Vector2D<float> > m_coord; //!< internal coord of the object
etk::Vector<etk::Color> m_coordColor; //!< internal color of the different point
//etk::Vector<linkCoord_ts> m_linkCoord; //!< internal link between point to generate triangle
int32_t m_triElement;
color_ts m_color[3];
etk::Color m_color[3];
Vector2D<float> m_triangle[3];
void GenerateTriangle(void);
void ResetCount(void);
public:
void Clear(void);
void SetColor(float red, float green, float blue, float alpha = 1.0);
void SetColor(color_ts color);
void SetColor(etk::Color color);
void SetPoint(Vector2D<float> point);
void SetPoint(float x, float y);
void Line(float sx, float sy, float ex, float ey, float thickness);

View File

@ -29,7 +29,7 @@
#undef __class__
#define __class__ "ewol::OObject2DText"
ewol::OObject2DText::OObject2DText(etk::UString FontName, int32_t size, color_ts textColorFg)
ewol::OObject2DText::OObject2DText(etk::UString FontName, int32_t size, etk::Color textColorFg)
{
m_textColorFg = textColorFg;
if (FontName == "") {
@ -44,10 +44,7 @@ ewol::OObject2DText::OObject2DText(etk::UString FontName, int32_t size, color_ts
// open with default font ...
ewol::OObject2DText::OObject2DText(void)
{
m_textColorFg.red = 0;
m_textColorFg.green = 0;
m_textColorFg.blue = 0;
m_textColorFg.alpha = 0xFF;
m_textColorFg = 0x000000FF;
m_FontId = GetDefaultFontId();
}

View File

@ -32,7 +32,7 @@ namespace ewol {
class OObject2DText :public ewol::OObject
{
public:
OObject2DText(etk::UString FontName, int32_t size, color_ts textColorFg);
OObject2DText(etk::UString FontName, int32_t size, etk::Color textColorFg);
OObject2DText(void);
virtual ~OObject2DText(void);
public:
@ -43,10 +43,10 @@ namespace ewol {
int32_t Text(Vector2D<float> textPos, clipping_ts drawClipping, const uniChar_t unicodeChar);
protected:
int32_t m_FontId; //!< font internal ID
color_ts m_textColorFg; //!< text color ...
etk::Color m_textColorFg; //!< text color ...
int32_t m_FontTextureId; //!< font internal Texture ID
etk::VectorType<Vector2D<float> > m_coord; //!< internal coord of the object
etk::VectorType<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
etk::Vector<Vector2D<float> > m_coord; //!< internal coord of the object
etk::Vector<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
};
};

View File

@ -31,7 +31,7 @@
ewol::OObject2DTextColored::OObject2DTextColored(etk::UString FontName, int32_t size)
{
m_color = etk::color::color_Black;
m_color = etk::color::black;
if (FontName == "") {
m_FontId = GetDefaultFontId();
} else {
@ -48,7 +48,7 @@ ewol::OObject2DTextColored::OObject2DTextColored(etk::UString FontName, int32_t
ewol::OObject2DTextColored::OObject2DTextColored(int32_t fontID)
{
m_color = etk::color::color_Black;
m_color = etk::color::black;
if (fontID < 0) {
m_FontId = GetDefaultFontId();
} else {
@ -60,7 +60,7 @@ ewol::OObject2DTextColored::OObject2DTextColored(int32_t fontID)
// open with default font ...
ewol::OObject2DTextColored::OObject2DTextColored(void)
{
m_color = etk::color::color_Black;
m_color = etk::color::black;
m_FontId = GetDefaultFontId();
}
@ -140,7 +140,7 @@ int32_t ewol::OObject2DTextColored::Text(Vector2D<float> textPos, const uniChar_
}
void ewol::OObject2DTextColored::SetColor(color_ts color)
void ewol::OObject2DTextColored::SetColor(etk::Color color)
{
m_color = color;
}
@ -148,7 +148,7 @@ void ewol::OObject2DTextColored::SetColor(color_ts color)
void ewol::OObject2DTextColored::SetColor(float red, float green, float blue, float alpha)
{
m_color = etk::color::Create(red, green, blue, alpha);
m_color = etk::Color(red, green, blue, alpha);
}

View File

@ -38,18 +38,18 @@ namespace ewol {
public:
virtual void Draw(void);
void SetColor(float red, float green, float blue, float alpha = 1.0);
void SetColor(color_ts color);
void SetColor(etk::Color color);
// set a specific text
void Clear(void);
int32_t Text(Vector2D<float> textPos, const etk::UString& unicodeString);
int32_t Text(Vector2D<float> textPos, const uniChar_t unicodeChar);
protected:
int32_t m_FontId; //!< font internal ID
color_ts m_color; //!< tmp text color ...
etk::Color m_color; //!< tmp text color ...
int32_t m_FontTextureId; //!< font internal Texture ID
etk::VectorType<Vector2D<float> > m_coord; //!< internal coord of the object
etk::VectorType<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
etk::VectorType<color_ts> m_coordColor; //!< internal color of the different point
etk::Vector<Vector2D<float> > m_coord; //!< internal coord of the object
etk::Vector<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
etk::Vector<etk::Color> m_coordColor; //!< internal color of the different point
public:
void SetFontID(int32_t fontID) { m_FontId = fontID; };
int32_t GetFontID(void) { return m_FontId; };

View File

@ -84,12 +84,12 @@ void ewol::OObject2DTextured::Clear(void)
m_coordColor.Clear();
}
void ewol::OObject2DTextured::Rectangle(float x, float y, float w, float h, color_ts tmpColor)
void ewol::OObject2DTextured::Rectangle(float x, float y, float w, float h, etk::Color tmpColor)
{
Rectangle(x, y, w, h, 0.0, 0.0, 1.0, 1.0, tmpColor);
}
void ewol::OObject2DTextured::Rectangle(float x, float y, float w, float h, float texX, float texY, float texSX, float texSY, color_ts tmpColor)
void ewol::OObject2DTextured::Rectangle(float x, float y, float w, float h, float texX, float texY, float texSX, float texSY, etk::Color tmpColor)
{
//EWOL_DEBUG("Add rectangle : ...");
Vector2D<float> point;

View File

@ -37,13 +37,13 @@ namespace ewol {
public:
virtual void Draw(void);
void Clear(void);
void Rectangle(float x, float y, float w, float h, float texX=0.0, float texY=0.0, float texSX=1.0, float texSY=1.0, color_ts tmpColor=0xFFFFFFFF);
void Rectangle(float x, float y, float w, float h, color_ts tmpColor);
void Rectangle(float x, float y, float w, float h, float texX=0.0, float texY=0.0, float texSX=1.0, float texSY=1.0, etk::Color tmpColor=etk::color::white);
void Rectangle(float x, float y, float w, float h, etk::Color tmpColor);
protected:
int32_t m_textureId; //!< texture internal ID
etk::VectorType<Vector2D<float> > m_coord; //!< internal coord of the object
etk::VectorType<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
etk::VectorType<color_ts> m_coordColor; //!< internal color of the different point
etk::Vector<Vector2D<float> > m_coord; //!< internal coord of the object
etk::Vector<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
etk::Vector<etk::Color> m_coordColor; //!< internal color of the different point
};
};

View File

@ -90,7 +90,7 @@ void ewol::Sprite::Clear(void)
void ewol::Sprite::Element(Vector2D<float> pos, float size, float angle)
{
color_ts tmpColor(0xFFFFFFFF);
etk::Color tmpColor(0xFFFFFFFF);
Vector3D<float> pos2;
pos2.x = pos.x;
pos2.y = pos.y;
@ -100,11 +100,11 @@ void ewol::Sprite::Element(Vector2D<float> pos, float size, float angle)
void ewol::Sprite::Element(Vector3D<float> pos, float size, float angle)
{
color_ts tmpColor(0xFFFFFFFF);
etk::Color tmpColor(0xFFFFFFFF);
Element(pos, size, angle, tmpColor);
}
void ewol::Sprite::Element(Vector2D<float> pos, float size, float angle, color_ts tmpColor)
void ewol::Sprite::Element(Vector2D<float> pos, float size, float angle, etk::Color tmpColor)
{
Vector3D<float> pos2;
pos2.x = pos.x;
@ -114,7 +114,7 @@ void ewol::Sprite::Element(Vector2D<float> pos, float size, float angle, color_t
}
void ewol::Sprite::Element(Vector3D<float> pos, float size, float angle, color_ts tmpColor)
void ewol::Sprite::Element(Vector3D<float> pos, float size, float angle, etk::Color tmpColor)
{
angle -= M_PI/4;
size *= 0.7;

View File

@ -40,14 +40,14 @@ namespace ewol {
void Clear(void);
void Element(Vector2D<float> pos, float size, float angle);
void Element(Vector3D<float> pos, float size, float angle);
void Element(Vector2D<float> pos, float size, float angle, color_ts tmpColor);
void Element(Vector3D<float> pos, float size, float angle, color_ts tmpColor);
void Element(Vector2D<float> pos, float size, float angle, etk::Color tmpColor);
void Element(Vector3D<float> pos, float size, float angle, etk::Color tmpColor);
bool HasName(etk::UString& name) { return name == m_name; };
protected:
int32_t m_textureId; //!< texture internal ID
etk::VectorType<Vector3D<float> > m_coord; //!< internal coord of the object
etk::VectorType<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
etk::VectorType<color_ts> m_coordColor; //!< internal color of the different point
etk::Vector<Vector3D<float> > m_coord; //!< internal coord of the object
etk::Vector<texCoord_ts> m_coordTex; //!< internal texture coordinate for every point
etk::Vector<etk::Color> m_coordColor; //!< internal color of the different point
};
};

View File

@ -39,7 +39,7 @@ class EventShortCut {
uniChar_t UnicodeValue;
};
static etk::VectorType<EventShortCut *> l_inputShortCutEvent; //!< generic short-cut event
static etk::Vector<EventShortCut *> l_inputShortCutEvent; //!< generic short-cut event
void ewol::shortCut::Add(bool shift, bool control, bool alt, bool meta, uniChar_t unicodeValue, const char * generateEventId, etk::UString data)

View File

@ -53,7 +53,7 @@ class LoadedTexture
bool m_destroy;
};
//! List of all Texture loaded ...
etk::VectorType<LoadedTexture*> l_listLoadedTexture;
etk::Vector<LoadedTexture*> l_listLoadedTexture;
#undef __class__
#define __class__ "texture"

View File

@ -31,7 +31,7 @@ namespace ewol {
class Widget;
};
#include <etk/Types.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
#include <ewol/Debug.h>
#include <ewol/OObject.h>
#include <ewol/base/eventInputManagement.h>

View File

@ -27,7 +27,7 @@
#include <ewol/widget/Button.h>
#include <ewol/widget/ButtonColor.h>
//#include <ewol/widget/Scene.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
#undef __class__
#define __class__ "WidgetManager"
@ -37,7 +37,7 @@ static bool IsInit = false;
// For the focus Management
static ewol::Widget * m_focusWidgetDefault = NULL;
static ewol::Widget * m_focusWidgetCurrent = NULL;
static etk::VectorType<ewol::Widget*> l_listOfPeriodicWidget;
static etk::Vector<ewol::Widget*> l_listOfPeriodicWidget;
static bool l_havePeriodic = false;
static bool l_haveRedraw = true;

View File

@ -28,7 +28,7 @@
#include <etk/Types.h>
#include <ewol/Debug.h>
#include <ewol/OObject.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
#include <ewol/Widget.h>
namespace ewol {

View File

@ -27,7 +27,7 @@
#include <etk/Types.h>
#include <ewol/Debug.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
#include <ewol/Widget.h>
namespace ewol {
@ -79,7 +79,7 @@ namespace ewol {
}
private:
ewol::Widget* m_subWidget;
etk::VectorType<ewol::Widget*> m_popUpWidgetList;
etk::Vector<ewol::Widget*> m_popUpWidgetList;
public:
void SetSubWidget(ewol::Widget * widget);
void PopUpWidgetPush(ewol::Widget * widget);

View File

@ -171,15 +171,6 @@ void ewolProcessEvents(void)
}
}
}
// pb here when dynamic widget ...
if (0 < nbEvent) {
//EWOL_DEBUG(" ******** Redraw");
if(true == ewol::threadMsg::HasDisplayDone(androidJniMsg)) {
int64_t localTime = GetCurrentTime();
ewol::widgetManager::PeriodicCall(localTime);
}
EWOL_NativeRegenerateDisplay();
}
}
@ -370,6 +361,12 @@ void guiSystem::Draw(void)
{
if (true == isGlobalSystemInit) {
ewolProcessEvents();
int64_t localTime = GetCurrentTime();
ewol::widgetManager::PeriodicCall(localTime);
EWOL_NativeRegenerateDisplay();
ewol::texture::UpdateContext();
EWOL_NativeRender();
}

View File

@ -281,7 +281,7 @@ static void local_SetTitle(etk::UString title)
EWOL_INFO("X11: Set Title (START)");
#endif
XTextProperty tp;
tp.value = (unsigned char *)title.Utf8Data();
tp.value = (unsigned char *)title.c_str();
tp.encoding = XA_WM_NAME;
tp.format = 8;
tp.nitems = strlen((const char*)tp.value);
@ -593,9 +593,9 @@ void X11_Run(void)
const char * magatTextToSend = NULL;
if (req->selection == XAtomeSelection) {
magatTextToSend = l_clipBoardPrimary.Utf8Data();
magatTextToSend = l_clipBoardPrimary.c_str();
} else if (req->selection == XAtomeClipBoard) {
magatTextToSend = l_clipBoardStd.Utf8Data();
magatTextToSend = l_clipBoardStd.c_str();
} else {
magatTextToSend = "";
}
@ -1182,7 +1182,7 @@ bool guiAbstraction::IsPressedInput(int32_t inputID)
#include <ewol/ewol.h>
static etk::VectorType<etk::UString*> listArgs;
static etk::Vector<etk::UString*> listArgs;
int32_t ewol::CmdLineNb(void)
{

View File

@ -53,7 +53,7 @@ namespace ewol {
bool isInit;
pthread_mutex_t mutex;
pthread_cond_t condition;
//etk::VectorType<threadMsgContent_ts>
//etk::Vector<threadMsgContent_ts>
threadMsgContent_ts listOfMessages[MSG_PRIO_NUMBER][NUMBER_OF_ELEMENT_IN_THE_FIFO];
int32_t nbMessages[MSG_PRIO_NUMBER];
bool displayHasDone;

View File

@ -68,9 +68,9 @@ void ewol::Button::Init(void)
m_padding.x = 4;
#endif
m_textColorFg = etk::color::color_Black;
m_textColorFg = etk::color::black;
m_textColorBg = etk::color::color_Black;
m_textColorBg = etk::color::black;
m_textColorBg.alpha = 0x3F;
SetCanHaveFocus(true);
}

View File

@ -62,16 +62,16 @@ namespace ewol {
bool GetValue(void);
void SetAlignement(textAlignement_te typeAlign);
void SetPadding(Vector2D<float> newPadding);
void SetColorBg(color_ts newColor) { m_textColorBg = newColor; };
void SetColorFg(color_ts newColor) { m_textColorFg = newColor; };
void SetColorBg(etk::Color newColor) { m_textColorBg = newColor; };
void SetColorFg(etk::Color newColor) { m_textColorFg = newColor; };
private:
bool m_hasAnImage;
etk::UString m_imageSelected;
textAlignement_te m_alignement;
Vector2D<float> m_padding;
etk::UString m_label;
color_ts m_textColorFg; //!< Text color
color_ts m_textColorBg; //!< Background color
etk::Color m_textColorFg; //!< Text color
etk::Color m_textColorBg; //!< Background color
public:
virtual void OnRegenerateDisplay(void);
/**

View File

@ -63,7 +63,7 @@ void ewol::ButtonColor::Init(void)
#endif
m_textColorBg = etk::color::color_Black;
m_textColorBg = etk::color::black;
m_textColorBg.alpha = 0x3F;
m_widgetContextMenu = NULL;
SetCanHaveFocus(true);
@ -160,15 +160,9 @@ void ewol::ButtonColor::OnRegenerateDisplay(void)
tmpSizeY -= 2*m_padding.y;
if ((m_textColorBg.red>0.5) || (m_textColorBg.green>0.5) || (m_textColorBg.blue > 0.8) ) {
m_textColorFg.red = 0.0;
m_textColorFg.green = 0.0;
m_textColorFg.blue = 0.0;
m_textColorFg.alpha = 1.0;
m_textColorFg = etk::color::black;
} else {
m_textColorFg.red = 1.0;
m_textColorFg.green = 1.0;
m_textColorFg.blue = 1.0;
m_textColorFg.alpha = 1.0;
m_textColorFg = etk::color::white;
}
ewol::OObject2DText * tmpText = new ewol::OObject2DText("", -1, m_textColorFg);
/*
@ -247,16 +241,12 @@ bool ewol::ButtonColor::OnEventInput(ewol::inputType_te type, int32_t IdInput, e
}
void ewol::ButtonColor::SetCurrentColor(color_ts color)
void ewol::ButtonColor::SetCurrentColor(etk::Color color)
{
m_selectedColor = color;
m_textColorBg = m_selectedColor;
char colorText[256];
sprintf(colorText, "#%02X%02X%02X%02X",
(uint8_t)(color.red * 0xFF),
(uint8_t)(color.green * 0xFF),
(uint8_t)(color.blue * 0xFF),
(uint8_t)(color.alpha * 0xFF));
sprintf(colorText, "#%08X", color.Get());
//set the new label ...
SetLabel(colorText);
}
@ -272,16 +262,12 @@ void ewol::ButtonColor::OnReceiveMessage(ewol::EObject * CallerObject, const cha
{
if (eventId == ewolEventColorChooserChange) {
// TODO : Parse the input color ...
//color_ts tmpColor(data);
color_ts tmpColor;
//etk::Color tmpColor(data);
etk::Color tmpColor;
m_selectedColor = tmpColor;
m_textColorBg = m_selectedColor;
char colorText[256];
sprintf(colorText, "#%02X%02X%02X%02X",
(uint8_t)(tmpColor.red * 0xFF),
(uint8_t)(tmpColor.green * 0xFF),
(uint8_t)(tmpColor.blue * 0xFF),
(uint8_t)(tmpColor.alpha * 0xFF));
sprintf(colorText, "#%08X", tmpColor.Get());
//set the new label ...
SetLabel(colorText);
GenerateEventId(ewolEventButtonColorChange);

View File

@ -59,9 +59,9 @@ namespace ewol {
textAlignement_te m_alignement;
Vector2D<float> m_padding;
etk::UString m_label;
color_ts m_textColorFg; //!< Text color
color_ts m_textColorBg; //!< Background color
color_ts m_selectedColor; //!< user current selected Color
etk::Color m_textColorFg; //!< Text color
etk::Color m_textColorBg; //!< Background color
etk::Color m_selectedColor; //!< user current selected Color
ewol::ContextMenu* m_widgetContextMenu;
public:
virtual void OnRegenerateDisplay(void);
@ -76,8 +76,8 @@ namespace ewol {
* @return false the event is not used
*/
virtual bool OnEventInput(ewol::inputType_te type, int32_t IdInput, eventInputType_te typeEvent, Vector2D<float> pos);
color_ts GetCurrentColor(void) { return m_selectedColor; };
void SetCurrentColor(color_ts color);
etk::Color GetCurrentColor(void) { return m_selectedColor; };
void SetCurrentColor(etk::Color color);
/**
* @brief Receive a message from an other EObject with a specific eventId and data
* @param[in] CallerObject Pointer on the EObject that information came from

View File

@ -41,7 +41,7 @@ void ewol::WIDGET_ButtonImageInit(void)
#undef __class__
#define __class__ "ButtonImage"
ewol::ButtonImage::ButtonImage(etk::UString imageName, color_ts col)
ewol::ButtonImage::ButtonImage(etk::UString imageName, etk::Color col)
{
AddEventId(ewolEventButtonPressed);
AddEventId(ewolEventButtonDown);
@ -68,7 +68,7 @@ ewol::ButtonImage::~ButtonImage(void)
}
void ewol::ButtonImage::SetImage(etk::UString imageName, color_ts col)
void ewol::ButtonImage::SetImage(etk::UString imageName, etk::Color col)
{
m_image = imageName;
m_color = col;
@ -76,7 +76,7 @@ void ewol::ButtonImage::SetImage(etk::UString imageName, color_ts col)
MarkToRedraw();
}
void ewol::ButtonImage::SetImageBG(etk::UString imageName, color_ts col)
void ewol::ButtonImage::SetImageBG(etk::UString imageName, etk::Color col)
{
m_imageBg1 = imageName;
m_colorBg1 = col;
@ -84,7 +84,7 @@ void ewol::ButtonImage::SetImageBG(etk::UString imageName, color_ts col)
MarkToRedraw();
}
void ewol::ButtonImage::SetImageSelected(etk::UString imageName, color_ts col)
void ewol::ButtonImage::SetImageSelected(etk::UString imageName, etk::Color col)
{
m_imageBg2 = imageName;
m_colorBg2 = col;

View File

@ -34,7 +34,7 @@ namespace ewol {
class ButtonImage :public ewol::Widget
{
public:
ButtonImage(etk::UString image, color_ts col=0xFFFFFFFF);
ButtonImage(etk::UString image, etk::Color col=0xFFFFFFFF);
/**
* @brief Get the current Object type of the EObject
* @note In Embended platforme, it is many time no -rtti flag, then it is not possible to use dynamic cast ==> this will replace it
@ -44,9 +44,9 @@ namespace ewol {
virtual const char * const GetObjectType(void) { return "EwolButtonImage"; };
void Init(void);
virtual ~ButtonImage(void);
void SetImage(etk::UString imageName, color_ts col=0xFFFFFFFF);
void SetImageBG(etk::UString imageName, color_ts col=0xFFFFFFFF);
void SetImageSelected(etk::UString imageName, color_ts col=0xFFFFFFFF);
void SetImage(etk::UString imageName, etk::Color col=0xFFFFFFFF);
void SetImageBG(etk::UString imageName, etk::Color col=0xFFFFFFFF);
void SetImageSelected(etk::UString imageName, etk::Color col=0xFFFFFFFF);
void SetValue(bool val);
bool GetValue(void);
void SetToggleMode(bool val);
@ -55,15 +55,15 @@ namespace ewol {
etk::UString m_image;
bool m_resetNeeded;
ewol::OObject2DTextured* m_OOImage;
color_ts m_color;
etk::Color m_color;
etk::UString m_imageBg1;
ewol::OObject2DTextured* m_OOImageBg1;
color_ts m_colorBg1;
etk::Color m_colorBg1;
etk::UString m_imageBg2;
ewol::OObject2DTextured* m_OOImageBG2;
color_ts m_colorBg2;
etk::Color m_colorBg2;
bool m_over;
bool m_down;

View File

@ -38,8 +38,8 @@ extern const char * const ewolEventCheckBoxClicked = "ewol CheckBox Clicked";
void ewol::CheckBox::Init(void)
{
AddEventId(ewolEventCheckBoxClicked);
m_textColorFg = etk::color::color_Black;
m_textColorBg = etk::color::color_White;
m_textColorFg = etk::color::black;
m_textColorBg = etk::color::white;
m_value = false;
SetCanHaveFocus(true);
SetMouseLimit(1);

View File

@ -53,8 +53,8 @@ namespace ewol {
private:
etk::UString m_label;
bool m_value;
color_ts m_textColorFg; //!< Text color
color_ts m_textColorBg; //!< Background color
etk::Color m_textColorFg; //!< Text color
etk::Color m_textColorBg; //!< Background color
public:
virtual void OnRegenerateDisplay(void);
public:

View File

@ -27,6 +27,7 @@
#include <ewol/OObject.h>
#include <ewol/WidgetManager.h>
#include <etk/Color.h>
extern const char * const ewolEventColorBarChange = "ewol-color-bar-change";
@ -48,7 +49,7 @@ ewol::ColorBar::ColorBar(void)
#endif
m_currentUserPos.x=0;
m_currentUserPos.y=0;
m_currentColor = etk::color::color_Black;
m_currentColor = etk::color::black;
SetCanHaveFocus(true);
}
@ -65,10 +66,10 @@ bool ewol::ColorBar::CalculateMinSize(void)
MarkToRedraw();
return true;
}
static color_ts s_listColorWhite(0xFFFFFFFF);
static color_ts s_listColorBlack(0x000000FF);
static etk::Color s_listColorWhite(0xFFFFFFFF);
static etk::Color s_listColorBlack(0x000000FF);
#define NB_BAND_COLOR (6)
static color_ts s_listColor[NB_BAND_COLOR+1] = {
static etk::Color s_listColor[NB_BAND_COLOR+1] = {
0xFF0000FF,
0xFFFF00FF,
0x00FF00FF,
@ -78,14 +79,14 @@ static color_ts s_listColor[NB_BAND_COLOR+1] = {
0xFF0000FF
};
color_ts ewol::ColorBar::GetCurrentColor(void)
etk::Color ewol::ColorBar::GetCurrentColor(void)
{
return m_currentColor;
}
void ewol::ColorBar::SetCurrentColor(color_ts newOne)
void ewol::ColorBar::SetCurrentColor(etk::Color newOne)
{
m_currentColor = newOne;
m_currentColor.alpha = 1.0;
m_currentColor.alpha = 0xFF;
// estimate the cursor position :
// TODO : Later when really needed ...
}
@ -192,17 +193,12 @@ void ewol::ColorBar::OnRegenerateDisplay(void)
tmpOObjects->SetPoint(tmpOriginX + (iii+0.5)*(tmpSizeX/NB_BAND_COLOR), tmpOriginY+tmpSizeY);
*/
}
color_ts tmpColor;
etk::Color tmpColor;
if (m_currentUserPos.y > 0.5) {
tmpColor.red = 1.0;
tmpColor.green = 1.0;
tmpColor.blue = 1.0;
tmpColor = etk::color::white;
} else {
tmpColor.red = 0.0;
tmpColor.green = 0.0;
tmpColor.blue = 0.0;
tmpColor = etk::color::black;
}
tmpColor.alpha = 1.0;
tmpOObjects->SetColor(tmpColor);
tmpOObjects->Circle(m_currentUserPos.x*m_size.x, m_currentUserPos.y*m_size.y, 3.0, 1.0);
@ -240,8 +236,7 @@ bool ewol::ColorBar::OnEventInput(ewol::inputType_te type, int32_t IdInput, even
float localPos = relativePos.x - (m_size.x/6) * bandID;
float poroportionnalPos = localPos/(m_size.x/6);
EWOL_VERBOSE("bandId=" << bandID << " relative pos=" << localPos);
color_ts estimateColor;
estimateColor.alpha = 1.0;
etk::Color estimateColor = etk::color::white;
if (s_listColor[bandID].red == s_listColor[bandID+1].red) {
estimateColor.red = s_listColor[bandID].red;
} else if (s_listColor[bandID].red < s_listColor[bandID+1].red) {
@ -286,10 +281,7 @@ bool ewol::ColorBar::OnEventInput(ewol::inputType_te type, int32_t IdInput, even
(uint8_t)(estimateColor.alpha * 0xFF));
EWOL_DEBUG("new color : " << colorText);
*/
if( m_currentColor.red != estimateColor.red
|| m_currentColor.green != estimateColor.green
|| m_currentColor.blue != estimateColor.blue
|| m_currentColor.alpha != estimateColor.alpha) {
if( m_currentColor != estimateColor) {
m_currentColor = estimateColor;
GenerateEventId(ewolEventColorBarChange);
}

View File

@ -45,10 +45,10 @@ namespace ewol {
*/
virtual const char * const GetObjectType(void) { return "EwolColorBar"; };
virtual bool CalculateMinSize(void);
color_ts GetCurrentColor(void);
void SetCurrentColor(color_ts newOne);
etk::Color GetCurrentColor(void);
void SetCurrentColor(etk::Color newOne);
private:
color_ts m_currentColor;
etk::Color m_currentColor;
Vector2D<float> m_currentUserPos;
Vector2D<float> m_padding;
public:

View File

@ -40,9 +40,9 @@ ewol::ContextMenu::ContextMenu(void)
m_padding.y = 4;
m_offset = 20;
m_colorBackGroung = etk::color::color_White;
m_colorBackGroung = etk::color::white;
m_colorBorder = etk::color::color_Black;
m_colorBorder = etk::color::black;
m_colorBorder.alpha = 0x7F;
m_arrowPos.x = 0;

View File

@ -57,8 +57,8 @@ namespace ewol {
virtual void SetExpendX(bool newExpend=false);
virtual void SetExpendY(bool newExpend=false);
private:
color_ts m_colorBackGroung;
color_ts m_colorBorder;
etk::Color m_colorBackGroung;
etk::Color m_colorBorder;
Vector2D<float> m_padding;
Vector2D<float> m_arrowPos;
float m_offset;

View File

@ -44,7 +44,7 @@ namespace ewol {
virtual const char * const GetObjectType(void) { return "EwolDrawable"; };
private:
etk::VectorType<ewol::OObject*> m_listOObject; //!< generic element to display...
etk::Vector<ewol::OObject*> m_listOObject; //!< generic element to display...
public:
void AddOObject(ewol::OObject* newObject, int32_t pos=-1);
void ClearOObjectList(void);

View File

@ -51,9 +51,9 @@ void ewol::Entry::Init(void)
m_borderSize = 2;
m_paddingSize = 3;
m_displayCursor = false;
m_textColorFg = etk::color::color_Black;
m_textColorFg = etk::color::black;
m_textColorBg = etk::color::color_White;
m_textColorBg = etk::color::white;
m_textColorBg.alpha = 0xAF;
SetCanHaveFocus(true);
}

View File

@ -57,8 +57,8 @@ namespace ewol {
}
private:
etk::UString m_data;
color_ts m_textColorFg; //!< Text color
color_ts m_textColorBg; //!< Background color
etk::Color m_textColorFg; //!< Text color
etk::Color m_textColorBg; //!< Background color
int32_t m_userSize;
int32_t m_displayStartPosition;
int32_t m_displayCursorPos;

View File

@ -58,7 +58,7 @@ void ewol::Image::Init(void)
m_padding.x = 4;
#endif
m_textColorBg = etk::color::color_Black;
m_textColorBg = etk::color::black;
m_textColorBg.alpha = 0x00;
m_imageSize = 32;
}

View File

@ -51,7 +51,7 @@ namespace ewol {
private:
etk::UString m_imageSelected;
Vector2D<float> m_padding;
color_ts m_textColorBg; //!< Background color
etk::Color m_textColorBg; //!< Background color
int32_t m_imageSize;
public:
virtual void OnRegenerateDisplay(void);

View File

@ -103,9 +103,9 @@ ewol::Joystick::Joystick(void)
m_lock = false;
m_displayMode = ewol::JOYSTICK_NORMAL_MODE;
m_colorFg = etk::color::color_Blue;
m_colorFg = etk::color::blue;
m_colorBg = etk::color::color_Black;
m_colorBg = etk::color::black;
m_colorBg.alpha = 0x3F;
m_displayPos.x = 0.0;

View File

@ -41,8 +41,8 @@ namespace ewol {
class Joystick :public ewol::Drawable
{
private:
color_ts m_colorFg; //!< Forground color
color_ts m_colorBg; //!< Background color
etk::Color m_colorFg; //!< Forground color
etk::Color m_colorBg; //!< Background color
Vector2D<float> m_displayPos; //!< direction of the cursor ...
float m_distance; //!< dintance from the center
float m_angle; //!< angle of the arraw (if < 0 : No arraw...) 0 is the TOP ...

View File

@ -39,7 +39,7 @@ extern const char * const ewolEventLabelPressed = "ewol Label Pressed";
void ewol::Label::Init(void)
{
AddEventId(ewolEventLabelPressed);
m_textColorFg = etk::color::color_Black;
m_textColorFg = etk::color::black;
SetCanHaveFocus(false);
}

View File

@ -50,7 +50,7 @@ namespace ewol {
void SetLabel(etk::UString newLabel);
private:
etk::UString m_label;
color_ts m_textColorFg; //!< Text color
etk::Color m_textColorFg; //!< Text color
public:
virtual void OnRegenerateDisplay(void);
public:

View File

@ -118,7 +118,7 @@ void ewol::Layer::LockExpendContamination(bool lockExpend)
m_lockExpendContamination = lockExpend;
}
//etk::VectorType<ewol::Widget*> m_SubWidget;
//etk::Vector<ewol::Widget*> m_SubWidget;
void ewol::Layer::SubWidgetRemoveAll(void)
{

View File

@ -53,7 +53,7 @@ namespace ewol {
void LockExpendContamination(bool lockExpend=false);
private:
bool m_lockExpendContamination;
etk::VectorType<ewol::Widget*> m_subWidget;
etk::Vector<ewol::Widget*> m_subWidget;
public:
virtual void SubWidgetRemoveAll(void);
virtual void SubWidgetAdd(ewol::Widget* newWidget);

View File

@ -141,10 +141,10 @@ void ewol::List::OnRegenerateDisplay(void)
m_maxSize.y = (minHeight + 2*m_paddingSizeY) * nbRaw;
etk::VectorType<int32_t> listSizeColomn;
etk::Vector<int32_t> listSizeColomn;
ewol::OObject2DColored * BGOObjects = new ewol::OObject2DColored();
color_ts basicBG = GetBasicBG();
etk::Color basicBG = GetBasicBG();
BGOObjects->SetColor(basicBG);
BGOObjects->Rectangle(0, 0, m_size.x, m_size.y);
@ -172,8 +172,8 @@ void ewol::List::OnRegenerateDisplay(void)
for(int32_t iii=startRaw; iii<nbRaw && iii<(startRaw+displayableRaw); iii++) {
etk::UString myTextToWrite;
color_ts fg;
color_ts bg;
etk::Color fg;
etk::Color bg;
GetElement(0, iii, myTextToWrite, fg, bg);
BGOObjects->SetColor(bg);
BGOObjects->Rectangle(0, m_size.y - tmpOriginY, m_size.x, minHeight+2*m_paddingSizeY);

View File

@ -48,7 +48,7 @@ namespace ewol {
void SetLabel(etk::UString newLabel);
// Drawing capabilities ....
private:
etk::VectorType<ewol::OObject*> m_listOObject; //!< generic element to display...
etk::Vector<ewol::OObject*> m_listOObject; //!< generic element to display...
public:
void AddOObject(ewol::OObject* newObject, int32_t pos=-1);
void ClearOObjectList(void);
@ -74,21 +74,21 @@ namespace ewol {
virtual bool OnEventInput(ewol::inputType_te type, int32_t IdInput, eventInputType_te typeEvent, Vector2D<float> pos);
protected:
// function call to display the list :
virtual color_ts GetBasicBG(void) {
color_ts bg(0xFFFFFFFF);
virtual etk::Color GetBasicBG(void) {
etk::Color bg(0xFFFFFFFF);
return bg;
}
virtual uint32_t GetNuberOfColomn(void) {
return 0;
};
virtual bool GetTitle(int32_t colomn, etk::UString &myTitle, color_ts &fg, color_ts &bg) {
virtual bool GetTitle(int32_t colomn, etk::UString &myTitle, etk::Color &fg, etk::Color &bg) {
myTitle = "";
return false;
};
virtual uint32_t GetNuberOfRaw(void) {
return 0;
};
virtual bool GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, color_ts &fg, color_ts &bg) {
virtual bool GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, etk::Color &fg, etk::Color &bg) {
myTextToWrite = "";
bg = 0xFFFFFFFF;
fg = 0x000000FF;

View File

@ -38,9 +38,9 @@ extern const char * const ewolEventFSFileValidate = "ewol-event-file-system-fi
extern const char * const ewolEventFSFolderSelect = "ewol-event-file-system-folder-select";
extern const char * const ewolEventFSFolderValidate = "ewol-event-file-system-folder-validate";
static void SortElementList(etk::VectorType<ewol::elementFS *> &list)
static void SortElementList(etk::Vector<ewol::elementFS *> &list)
{
etk::VectorType<ewol::elementFS *> tmpList = list;
etk::Vector<ewol::elementFS *> tmpList = list;
list.Clear();
for(int32_t iii=0; iii<tmpList.Size(); iii++) {
if (NULL != tmpList[iii]) {
@ -86,8 +86,8 @@ ewol::ListFileSystem::~ListFileSystem(void)
}
};
color_ts ewol::ListFileSystem::GetBasicBG(void) {
color_ts bg(0x00000010);
etk::Color ewol::ListFileSystem::GetBasicBG(void) {
etk::Color bg(0x00000010);
return bg;
}
@ -126,7 +126,7 @@ void ewol::ListFileSystem::RegenerateView(void)
}
DIR *dir = NULL;
struct dirent *ent = NULL;
dir = opendir(m_folder.Utf8Data());
dir = opendir(m_folder.c_str());
if (dir != NULL) {
// for each element in the drectory...
while ((ent = readdir(dir)) != NULL) {
@ -242,20 +242,20 @@ void ewol::ListFileSystem::SetSelect( etk::UString data) {
uint32_t ewol::ListFileSystem::GetNuberOfColomn(void) {
return 1;
};
bool ewol::ListFileSystem::GetTitle(int32_t colomn, etk::UString &myTitle, color_ts &fg, color_ts &bg) {
bool ewol::ListFileSystem::GetTitle(int32_t colomn, etk::UString &myTitle, etk::Color &fg, etk::Color &bg) {
myTitle = "title";
return true;
};
uint32_t ewol::ListFileSystem::GetNuberOfRaw(void) {
return m_list.Size();
};
bool ewol::ListFileSystem::GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, color_ts &fg, color_ts &bg) {
bool ewol::ListFileSystem::GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, etk::Color &fg, etk::Color &bg) {
if (raw >= 0 && raw < m_list.Size() && NULL != m_list[raw]) {
myTextToWrite = m_list[raw]->m_name;
} else {
myTextToWrite = "ERROR";
}
fg = etk::color::color_Black;
fg = etk::color::black;
if (raw % 2) {
bg = 0xFFFFFF00;
} else {

View File

@ -55,7 +55,7 @@ namespace ewol {
class ListFileSystem : public ewol::List
{
private:
etk::VectorType<ewol::elementFS *> m_list;
etk::Vector<ewol::elementFS *> m_list;
etk::UString m_folder;
int32_t m_selectedLine;
bool m_showFile;
@ -66,11 +66,11 @@ namespace ewol {
ListFileSystem(void);
~ListFileSystem(void);
// display API :
virtual color_ts GetBasicBG(void);
virtual etk::Color GetBasicBG(void);
uint32_t GetNuberOfColomn(void);
bool GetTitle(int32_t colomn, etk::UString &myTitle, color_ts &fg, color_ts &bg);
bool GetTitle(int32_t colomn, etk::UString &myTitle, etk::Color &fg, etk::Color &bg);
uint32_t GetNuberOfRaw(void);
bool GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, color_ts &fg, color_ts &bg);
bool GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, etk::Color &fg, etk::Color &bg);
bool OnItemEvent(int32_t IdInput, ewol::eventInputType_te typeEvent, int32_t colomn, int32_t raw, float x, float y);
/**
* @brief Get the current Object type of the EObject

View File

@ -64,7 +64,7 @@ namespace ewol {
virtual void SubWidgetRemove(ewol::Widget* newWidget);
virtual void SubWidgetUnLink(ewol::Widget* newWidget);
private:
etk::VectorType<MenuElement*> m_listElement;
etk::Vector<MenuElement*> m_listElement;
int32_t m_staticId; // unique ID for every element of the menu ...
ewol::ContextMenu* m_widgetContextMenu;
public:

View File

@ -36,12 +36,12 @@ ewol::PopUp::PopUp(void) :
m_userExpendX = true;
m_userExpendY = true;
m_colorBackGroung = etk::color::color_White;
m_colorBackGroung = etk::color::white;
m_colorEmptyArea = etk::color::color_Black;
m_colorEmptyArea = etk::color::black;
m_colorEmptyArea.alpha = 0x7F;
m_colorBorder = etk::color::color_Black;
m_colorBorder = etk::color::black;
m_colorBorder.alpha = 0x7F;
m_subWidget = 0;

View File

@ -51,9 +51,9 @@ namespace ewol {
virtual void SetExpendY(bool newExpend=false);
void SetDisplayRatio(float ratio);
private:
color_ts m_colorBackGroung;
color_ts m_colorBorder;
color_ts m_colorEmptyArea;
etk::Color m_colorBackGroung;
etk::Color m_colorBorder;
etk::Color m_colorEmptyArea;
ewol::Widget* m_subWidgetNext;
ewol::Widget* m_subWidget;
float m_displayRatio;

View File

@ -36,14 +36,11 @@ ewol::ProgressBar::ProgressBar(void)
{
m_value = 0.0;
m_textColorFg = etk::color::color_Black;
m_textColorFg = etk::color::black;
m_textColorBgOn.red = 0;
m_textColorBgOn.green = 0xFF;
m_textColorBgOn.blue = 0;
m_textColorBgOn.alpha = 0xFF;
m_textColorBgOn = 0x00FF00FF;
m_textColorBgOff = etk::color::color_Black;
m_textColorBgOff = etk::color::black;
m_textColorBgOff.alpha = 0x3F;
SetCanHaveFocus(true);
}

View File

@ -46,12 +46,12 @@ namespace ewol {
virtual bool CalculateMinSize(void);
void ValueSet(float val);
float ValueGet(void);
void SetColor(color_ts newColor) { m_textColorFg = newColor; };
void SetColor(etk::Color newColor) { m_textColorFg = newColor; };
private:
float m_value; //!< % used
color_ts m_textColorFg; //!< forder bar color
color_ts m_textColorBgOn; //!< bar color enable
color_ts m_textColorBgOff; //!< bar color disable
etk::Color m_textColorFg; //!< forder bar color
etk::Color m_textColorBgOn; //!< bar color enable
etk::Color m_textColorBgOff; //!< bar color disable
public:
virtual void OnRegenerateDisplay(void);
};

View File

@ -158,7 +158,7 @@ void ewol::SizerHori::LockExpendContamination(bool lockExpend)
m_lockExpendContamination = lockExpend;
}
//etk::VectorType<ewol::Widget*> m_subWidget[m_currentCreateId];
//etk::Vector<ewol::Widget*> m_subWidget[m_currentCreateId];
void ewol::SizerHori::SubWidgetRemoveAll(void)
{

View File

@ -54,7 +54,7 @@ namespace ewol {
void LockExpendContamination(bool lockExpend=false);
private:
bool m_lockExpendContamination;
etk::VectorType<ewol::Widget*> m_subWidget;
etk::Vector<ewol::Widget*> m_subWidget;
public:
virtual void SubWidgetRemoveAll(void);
virtual void SubWidgetAdd(ewol::Widget* newWidget);

View File

@ -161,7 +161,7 @@ void ewol::SizerVert::LockExpendContamination(bool lockExpend)
m_lockExpendContamination = lockExpend;
}
//etk::VectorType<ewol::Widget*> m_SubWidget;
//etk::Vector<ewol::Widget*> m_SubWidget;
void ewol::SizerVert::SubWidgetRemoveAll(void)
{

View File

@ -53,7 +53,7 @@ namespace ewol {
void LockExpendContamination(bool lockExpend=false);
private:
bool m_lockExpendContamination;
etk::VectorType<ewol::Widget*> m_subWidget;
etk::Vector<ewol::Widget*> m_subWidget;
public:
virtual void SubWidgetRemoveAll(void);
virtual void SubWidgetAdd(ewol::Widget* newWidget);

View File

@ -45,11 +45,9 @@ ewol::Slider::Slider(void)
m_min = 0;
m_max = 10;
m_textColorFg = etk::color::color_Black;
m_textColorFg = etk::color::black;
m_textColorBg.red = 0;
m_textColorBg.green = 0;
m_textColorBg.blue = 0;
m_textColorBg = etk::color::black;
m_textColorBg.alpha = 0x3F;
SetCanHaveFocus(true);
}
@ -109,7 +107,7 @@ void ewol::Slider::OnRegenerateDisplay(void)
tmpOObjects->SetColor(m_textColorFg);
// draw a line :
tmpOObjects->Line(dotRadius, m_size.y/2, m_size.x-dotRadius, m_size.y/2, 1);
color_ts borderDot = m_textColorFg;
etk::Color borderDot = m_textColorFg;
borderDot.alpha /= 2;
tmpOObjects->SetColor(borderDot);
tmpOObjects->Disc(4+((float)(m_value-m_min)/(float)(m_max-m_min))*(float)(m_size.x-2*dotRadius), m_size.y/2, dotRadius);

View File

@ -49,13 +49,13 @@ namespace ewol {
int32_t GetValue(void);
void SetMin(int32_t val);
void SetMax(int32_t val);
void SetColor(color_ts newColor) { m_textColorFg = newColor; };
void SetColor(etk::Color newColor) { m_textColorFg = newColor; };
private:
int32_t m_value;
int32_t m_min;
int32_t m_max;
color_ts m_textColorFg; //!< Text color
color_ts m_textColorBg; //!< Background color
etk::Color m_textColorFg; //!< Text color
etk::Color m_textColorBg; //!< Background color
public:
virtual void OnRegenerateDisplay(void);
public:

View File

@ -53,10 +53,10 @@ namespace ewol {
*/
virtual ewol::Widget * GetWidgetAtPos(Vector2D<float> pos) { return NULL; };
virtual void OnRegenerateDisplay(void);
void SetColor(color_ts newColor) { m_color = newColor; MarkToRedraw(); };
void SetColor(etk::Color newColor) { m_color = newColor; MarkToRedraw(); };
private:
float m_localSize;
color_ts m_color;
etk::Color m_color;
};
};

View File

@ -140,7 +140,7 @@ void ewol::WSlider::LockExpendContamination(bool lockExpend)
m_lockExpendContamination = lockExpend;
}
//etk::VectorType<ewol::Widget*> m_SubWidget;
//etk::Vector<ewol::Widget*> m_SubWidget;
void ewol::WSlider::SubWidgetRemoveAll(void)
{

View File

@ -53,7 +53,7 @@ namespace ewol {
void LockExpendContamination(bool lockExpend=false);
private:
bool m_lockExpendContamination;
etk::VectorType<ewol::Widget*> m_subWidget;
etk::Vector<ewol::Widget*> m_subWidget;
int32_t m_windowsSources; // widget source viewed
int32_t m_windowsDestination; // widget destinated viewed
int32_t m_slidingProgress; // ratio progression of a sliding

View File

@ -47,7 +47,7 @@ namespace ewol {
class WidgetScrooled : public ewol::Widget
{
private:
etk::VectorType<ewol::OObject*> m_listOObject; //!< generic element to display...
etk::Vector<ewol::OObject*> m_listOObject; //!< generic element to display...
void AddOObject(ewol::OObject* newObject, int32_t pos=-1);
void ClearOObjectList(void);
protected:

View File

@ -29,7 +29,7 @@
#include <ewol/widget/Spacer.h>
#include <ewol/WidgetManager.h>
//#include <etk/Vector.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
extern "C" {
// file browsing ...
@ -71,8 +71,8 @@ ewol::ColorChooser::ColorChooser(void)
*/
SubWidgetAdd(m_widgetColorBar);
color_ts sliderColor;
sliderColor = etk::color::color_Black;
etk::Color sliderColor;
sliderColor = etk::color::black;
m_widgetRed = new ewol::Slider();
m_widgetRed->RegisterOnEvent(this, ewolEventSliderChange, eventColorSpecificHasChange);
@ -80,18 +80,16 @@ ewol::ColorChooser::ColorChooser(void)
m_widgetRed->SetFillX(true);
m_widgetRed->SetMin(0);
m_widgetRed->SetMax(255);
sliderColor.red = 0xFF;
sliderColor = 0xFF0000FF;
m_widgetRed->SetColor(sliderColor);
sliderColor.red = 0;
SubWidgetAdd(m_widgetRed);
m_widgetGreen = new ewol::Slider();
m_widgetGreen->RegisterOnEvent(this, ewolEventSliderChange, eventColorSpecificHasChange);
m_widgetGreen->SetExpendX(true);
m_widgetGreen->SetFillX(true);
m_widgetGreen->SetMin(0);
sliderColor.green = 0xFF;
sliderColor = 0x00FF00FF;
m_widgetGreen->SetColor(sliderColor);
sliderColor.green = 0;
m_widgetGreen->SetMax(255);
SubWidgetAdd(m_widgetGreen);
m_widgetBlue = new ewol::Slider();
@ -99,9 +97,8 @@ ewol::ColorChooser::ColorChooser(void)
m_widgetBlue->SetExpendX(true);
m_widgetBlue->SetFillX(true);
m_widgetBlue->SetMin(0);
sliderColor.blue = 0xFF;
sliderColor = 0x0000FFFF;
m_widgetBlue->SetColor(sliderColor);
sliderColor.blue = 0;
m_widgetBlue->SetMax(255);
SubWidgetAdd(m_widgetBlue);
m_widgetAlpha = new ewol::Slider();
@ -112,7 +109,7 @@ ewol::ColorChooser::ColorChooser(void)
m_widgetAlpha->SetMax(255);
SubWidgetAdd(m_widgetAlpha);
m_currentColor = etk::color::color_White;
m_currentColor = etk::color::white;
}
@ -122,7 +119,7 @@ ewol::ColorChooser::~ColorChooser(void)
}
void ewol::ColorChooser::SetColor(color_ts newColor)
void ewol::ColorChooser::SetColor(etk::Color newColor)
{
m_currentColor = newColor;
if (NULL != m_widgetRed) {
@ -143,7 +140,7 @@ void ewol::ColorChooser::SetColor(color_ts newColor)
}
color_ts ewol::ColorChooser::GetColor(void)
etk::Color ewol::ColorChooser::GetColor(void)
{
return m_currentColor;
}
@ -164,7 +161,7 @@ void ewol::ColorChooser::OnReceiveMessage(ewol::EObject * CallerObject, const ch
//EWOL_INFO("Receive Extern Event ... : widgetPointer=" << CallerObject << "\"" << eventId << "\" ==> data=\"" << data << "\"" );
if (eventColorBarHasChange == eventId) {
//==> colorBar has change ...
float tmpAlpha = m_currentColor.alpha;
uint8_t tmpAlpha = m_currentColor.alpha;
// the colorbar has no notion of the alpha ==> keep it ...
if (NULL != m_widgetColorBar) {
m_currentColor = m_widgetColorBar->GetCurrentColor();

View File

@ -66,15 +66,15 @@ namespace ewol {
*/
virtual void OnObjectRemove(ewol::EObject * removeObject);
void SetColor(color_ts newColor);
color_ts GetColor(void);
void SetColor(etk::Color newColor);
etk::Color GetColor(void);
private:;
ewol::ColorBar* m_widgetColorBar;
ewol::Slider* m_widgetRed;
ewol::Slider* m_widgetGreen;
ewol::Slider* m_widgetBlue;
ewol::Slider* m_widgetAlpha;
color_ts m_currentColor;
etk::Color m_currentColor;
};
};

View File

@ -30,7 +30,7 @@
#include <ewol/widget/Image.h>
#include <ewol/WidgetManager.h>
//#include <etk/Vector.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
extern "C" {
// file browsing ...
@ -354,7 +354,7 @@ void ewol::FileChooser::OnReceiveMessage(ewol::EObject * CallerObject, const cha
char * ok;
EWOL_DEBUG("new PATH : \"" << m_folder << "\"");
ok = realpath(m_folder.Utf8Data(), buf);
ok = realpath(m_folder.c_str(), buf);
if (!ok) {
EWOL_ERROR("Error to get the real path");
m_folder = "/";
@ -387,7 +387,7 @@ void ewol::FileChooser::OnReceiveMessage(ewol::EObject * CallerObject, const cha
char * ok;
EWOL_DEBUG("new PATH : \"" << tmpUserFolder << "\"");
ok = realpath(tmpUserFolder.Utf8Data(), buf);
ok = realpath(tmpUserFolder.c_str(), buf);
if (!ok) {
EWOL_ERROR("Error to get the real path");
m_folder = "/";

View File

@ -29,7 +29,7 @@
#include <ewol/widget/Spacer.h>
#include <ewol/widget/Image.h>
#include <ewol/WidgetManager.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
#include <ewol/ewol.h>
@ -203,7 +203,7 @@ void ewol::Parameter::OnReceiveMessage(ewol::EObject * CallerObject, const char
} else if (eventId == l_eventMenuSelected) {
if (NULL != m_wSlider) {
int32_t value = 0;
sscanf(data.Utf8Data(), "%d", &value);
sscanf(data.c_str(), "%d", &value);
EWOL_DEBUG("event on the parameter : " << eventId << " select ID=" << value << "");
m_wSlider->SubWidgetSelectSet(value);
}

View File

@ -148,7 +148,7 @@ void ewol::ParameterList::OnRegenerateDisplay(void)
m_maxSize.y = (minHeight + 2*m_paddingSizeY) * nbRaw;
etk::VectorType<int32_t> listSizeColomn;
etk::Vector<int32_t> listSizeColomn;
// set background color :
ewol::OObject2DColored * BGOObjects = new ewol::OObject2DColored();
@ -176,7 +176,7 @@ void ewol::ParameterList::OnRegenerateDisplay(void)
for(int32_t iii=startRaw; iii<nbRaw && iii<(startRaw+displayableRaw); iii++) {
etk::UString myTextToWrite = "???";
color_ts fg(0x000000FF);
etk::Color fg(0x000000FF);
if (m_list[iii] != NULL) {
myTextToWrite = m_list[iii]->m_label;
}

View File

@ -55,7 +55,7 @@ namespace ewol {
{
private:
int32_t m_idSelected;
etk::VectorType<ewol::elementPL *> m_list;
etk::Vector<ewol::elementPL *> m_list;
public:
ParameterList(void);
/**
@ -70,7 +70,7 @@ namespace ewol {
void SetLabel(etk::UString newLabel);
// Drawing capabilities ....
private:
etk::VectorType<ewol::OObject*> m_listOObject; //!< generic element to display...
etk::Vector<ewol::OObject*> m_listOObject; //!< generic element to display...
public:
void AddOObject(ewol::OObject* newObject, int32_t pos=-1);
void ClearOObjectList(void);

View File

@ -29,7 +29,7 @@
#include <ewol/widget/Spacer.h>
#include <ewol/widget/Label.h>
#include <ewol/WidgetManager.h>
#include <etk/VectorType.h>
#include <etk/Vector.h>
#undef __class__

@ -1 +1 @@
Subproject commit fa80d21d573ca2a349e9b23a5bc79f5e67bcf5f8
Subproject commit e2597ef3153d850c3f5e9f0b4a58e86141c56693