diff --git a/styles/README.md b/styles/README.md index 17c2816..b78e6f3 100644 --- a/styles/README.md +++ b/styles/README.md @@ -1,6 +1,6 @@ # raygui styles -`raygui` comes with **8 custom styles** carefully designed for the best visual experience. Those styles have been created using [rGuiStyler](https://raylibtech.itch.io/rguistyler) tool and they complement internal [default style](default), always available by `raygui`. +`raygui` comes with **12 custom styles** carefully designed for the best visual experience. Those styles have been created using [rGuiStyler](https://raylibtech.itch.io/rguistyler) tool and they complement internal [default style](default), always available by `raygui`. ## styles usage @@ -10,35 +10,41 @@ Styles can also be embedded in the code if desired, `.h` files are provided with Here it is a quick overview of those styles, you can navigate to each directory for additional information. -#### style: [default](default) +#### 1. style: [default](default) ![default style](default/style_table.png) -#### style: [ashes](ashes) -![ashes style](ashes/style_table.png) +#### 2. style: [dark](dark) +![dark style](dark/style_table.png) -#### style: [bluish](bluish) +#### 3. style: [bluish](bluish) ![bluish style](bluish/style_table.png) -#### style: [candy](candy) +#### 4. style: [candy](candy) ![candy style](candy/style_table.png) -#### style: [cherry](cherry) +#### 5. style: [cherry](cherry) ![cherry style](cherry/style_table.png) -#### style: [cyber](cyber) +#### 6. style: [cyber](cyber) ![cyber style](cyber/style_table.png) -#### style: [jungle](jungle) +#### 7. style: [jungle](jungle) ![jungle style](jungle/style_table.png) -#### style: [lavanda](lavanda) +#### 8. style: [lavanda](lavanda) ![lavanda style](lavanda/style_table.png) -#### style: [terminal](terminal) +#### 9. style: [terminal](terminal) ![terminal style](terminal/style_table.png) -#### style: [sunny](sunny) +#### 10. style: [sunny](sunny) ![sunny style](sunny/style_table.png) +#### 11. style: [ashes](ashes) +![ashes style](ashes/style_table.png) + +#### 12. enefete: [enefete](enefete) +![enefete style](enefete/style_table.png) + *NOTE: Those styles require raylib 4.0 and raygui 3.1.* diff --git a/styles/dark/PixelOperator.ttf b/styles/dark/PixelOperator.ttf new file mode 100644 index 0000000..34fe947 Binary files /dev/null and b/styles/dark/PixelOperator.ttf differ diff --git a/styles/dark/README.md b/styles/dark/README.md new file mode 100644 index 0000000..f9377c4 --- /dev/null +++ b/styles/dark/README.md @@ -0,0 +1,16 @@ +style: dark +-------------- +Classical dark style with an extra high-def colour touch! Elegant and professional, perfect for the expensive tools! + +![dark style table](dark_table.png) + +screenshot +----------- + +![dark style screen](screenshot.png) + +about font +----------- +"Pixel Operator" font by de Jayvee Enaguas. + +CC0 1.0 Universal, downloaded from dafont.com: [pixel-operator](https://www.dafont.com/pixel-operator.font) diff --git a/styles/dark/dark.h b/styles/dark/dark.h new file mode 100644 index 0000000..bb2e8cf --- /dev/null +++ b/styles/dark/dark.h @@ -0,0 +1,347 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleDark(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define DARK_STYLE_PROPS_COUNT 22 + +// Custom style name: dark +static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = { + { 0, 0, 0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0xc3c3c3ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0xe1e1e1ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0x848484ff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0x181818ff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0x000000ff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0xefefefff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0x202020ff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE + { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING + { 0, 18, 0x9d9d9dff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR + { 1, 5, 0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED + { 1, 8, 0x898989ff }, // LABEL_TEXT_COLOR_PRESSED + { 4, 5, 0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED + { 5, 5, 0x848484ff }, // PROGRESSBAR_TEXT_COLOR_FOCUSED + { 9, 5, 0xf5f5f5ff }, // TEXTBOX_TEXT_COLOR_FOCUSED + { 10, 5, 0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED +}; + +// WARNING: This style uses a custom font: PixelOperator.ttf (size: 16, spacing: 0) + +#define DARK_COMPRESSED_DATA_SIZE 1031 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char darkFontData[DARK_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0xd1, 0x76, 0x9b, 0x30, 0x0c, 0x00, 0x50, 0xff, 0xff, 0x4f, 0x6b, 0x4f, 0x3b, 0xeb, 0xb6, 0x16, 0x90, 0x90, 0x8d, + 0x93, 0xdc, 0xdd, 0x97, 0x9d, 0x36, 0x25, 0xc4, 0xc2, 0xc6, 0x04, 0xc9, 0xc4, 0x00, 0x00, 0xf8, 0x47, 0x7c, 0xfb, 0x93, + 0xf8, 0xf1, 0x95, 0x71, 0x79, 0x3b, 0xc7, 0x3f, 0xff, 0xfd, 0xdb, 0x38, 0x78, 0xaf, 0x6b, 0xfb, 0x9a, 0x7d, 0xdf, 0x48, + 0xb4, 0xc4, 0xf7, 0xfb, 0x17, 0x97, 0xb7, 0xfb, 0xd3, 0xe7, 0xcb, 0xbf, 0xfe, 0x68, 0x4b, 0xe7, 0xed, 0xfc, 0x54, 0xfc, + 0xe3, 0x52, 0x24, 0xe2, 0x62, 0xdb, 0x5c, 0x6f, 0xc5, 0xa3, 0x77, 0x8e, 0xe6, 0x16, 0x3c, 0x3f, 0x3a, 0x7f, 0x8a, 0x74, + 0xbe, 0x3d, 0xe2, 0xa0, 0x1f, 0xcd, 0x8d, 0xff, 0xd7, 0x7f, 0xb9, 0x7e, 0x1c, 0xc9, 0x88, 0x76, 0xf4, 0xf4, 0xe3, 0xfd, + 0x8c, 0xd4, 0xf6, 0x67, 0xc4, 0x3f, 0x5a, 0xc7, 0xae, 0x68, 0xed, 0xff, 0xc7, 0xaf, 0xcc, 0xf6, 0xb7, 0x48, 0xf6, 0xdd, + 0x8e, 0x36, 0xa9, 0xf5, 0xff, 0xee, 0xe8, 0xff, 0xf9, 0xec, 0x7d, 0xe3, 0x50, 0x7e, 0x5c, 0x5e, 0x19, 0xff, 0x4a, 0xec, + 0xae, 0x8e, 0x5c, 0x95, 0x3e, 0x31, 0x36, 0x88, 0x7f, 0xf6, 0x38, 0x3c, 0x6e, 0xab, 0x91, 0x3e, 0x33, 0x3c, 0x1f, 0xff, + 0xf3, 0xf1, 0x3f, 0x26, 0xc4, 0xff, 0xf9, 0x79, 0xf4, 0x9f, 0x88, 0x45, 0xb2, 0x2f, 0xe7, 0xce, 0x31, 0x91, 0xe8, 0x45, + 0xf5, 0xd6, 0xab, 0x9d, 0xff, 0xbf, 0x46, 0x3f, 0xde, 0x38, 0xfe, 0x91, 0x9c, 0xdf, 0x66, 0xe7, 0x38, 0x3b, 0xb4, 0xc2, + 0xf9, 0xfc, 0xff, 0x78, 0xef, 0xe2, 0xe6, 0xd8, 0x15, 0x2f, 0xd6, 0xfb, 0x3b, 0xe3, 0x1f, 0xd3, 0xe2, 0x1f, 0x4b, 0xe2, + 0x3f, 0x0e, 0xaf, 0x6a, 0xe3, 0xf6, 0x0c, 0x7b, 0xcf, 0xf8, 0x67, 0xaf, 0xff, 0x6b, 0x23, 0xec, 0xf3, 0x2d, 0x11, 0x37, + 0xaf, 0x41, 0x78, 0xfd, 0x6f, 0x11, 0x43, 0xf4, 0x7d, 0x8f, 0x8c, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xef, + 0xd0, 0x45, 0x53, 0xb6, 0x6c, 0x25, 0x53, 0xfd, 0x5e, 0x9e, 0x7f, 0x2e, 0x6b, 0xf7, 0x6c, 0xef, 0xf2, 0xfb, 0xde, 0xf9, + 0x37, 0x47, 0x59, 0xc8, 0xb5, 0x1c, 0xeb, 0x2b, 0x95, 0x16, 0x9d, 0xb9, 0x25, 0xf5, 0x4c, 0xf5, 0xee, 0x3b, 0x49, 0x51, + 0xae, 0x2b, 0xe8, 0xf9, 0x54, 0x77, 0x7e, 0xd3, 0x13, 0xa5, 0xae, 0xf8, 0x8f, 0x2d, 0xe2, 0x9f, 0xcf, 0x13, 0xca, 0x1f, + 0xb7, 0x91, 0xce, 0x47, 0x8b, 0xd6, 0x9c, 0xad, 0x68, 0x8d, 0x52, 0x24, 0x2a, 0xad, 0x7a, 0x72, 0x4e, 0x77, 0xef, 0xff, + 0xd7, 0x32, 0xb2, 0x3f, 0x2b, 0xfe, 0xf9, 0x73, 0xeb, 0xdd, 0x33, 0xec, 0x8a, 0x5c, 0x82, 0x6a, 0xa5, 0x4c, 0x3e, 0xfe, + 0xf9, 0xde, 0x73, 0xb6, 0xb5, 0x51, 0xca, 0xa3, 0xbe, 0x9b, 0x01, 0x9e, 0xad, 0x52, 0x5b, 0x9d, 0x8f, 0x3a, 0x3f, 0x23, + 0x37, 0x2e, 0xd4, 0xb8, 0xed, 0xdb, 0xff, 0x63, 0x42, 0xff, 0x5f, 0x93, 0x8f, 0x1c, 0x4b, 0x8f, 0x92, 0xb3, 0x5e, 0xd4, + 0x75, 0x56, 0x7b, 0x95, 0xf8, 0xaf, 0xfe, 0x6c, 0xb1, 0x65, 0xd6, 0xd8, 0xbc, 0x36, 0xda, 0x7d, 0xfe, 0xdf, 0x75, 0xc5, + 0x7e, 0xbf, 0x52, 0x7d, 0x4d, 0xf4, 0xa3, 0xf4, 0x3d, 0x48, 0x65, 0x8e, 0xd4, 0x7b, 0xfd, 0x9f, 0x9f, 0xc1, 0x87, 0x0c, + 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x8f, 0xca, 0xff, 0x5f, 0x93, 0x11, 0x34, 0x4a, 0x2b, 0xa1, 0xcf, 0xcf, + 0xb9, 0xbf, 0xb3, 0x26, 0x78, 0x3c, 0x9c, 0x61, 0x7e, 0x5c, 0x2d, 0xf0, 0xda, 0xf1, 0x7f, 0xfe, 0x37, 0xa3, 0xb0, 0x7e, + 0xe7, 0xca, 0xf8, 0x8f, 0x42, 0x34, 0x7a, 0xb2, 0xe4, 0x73, 0x5b, 0x89, 0xff, 0xfe, 0xb7, 0x63, 0xfc, 0xc7, 0x92, 0xf8, + 0xc7, 0xcb, 0xc7, 0xbf, 0x52, 0x6b, 0x71, 0x9c, 0x59, 0x2b, 0xfe, 0xe7, 0x6d, 0x1b, 0xa5, 0x2a, 0x8c, 0xfe, 0xf8, 0x47, + 0x71, 0x2b, 0x71, 0x72, 0x44, 0xf5, 0xe6, 0xdc, 0xf7, 0xe4, 0xe9, 0xad, 0x8d, 0x7f, 0xf7, 0x73, 0x3f, 0x76, 0xea, 0xff, + 0xd7, 0xea, 0xae, 0x66, 0x67, 0x1f, 0xdf, 0xe9, 0xe9, 0x4f, 0xf6, 0xff, 0xee, 0x67, 0x6b, 0xad, 0x3e, 0xff, 0xcf, 0x9a, + 0xff, 0x8d, 0xf4, 0x68, 0x12, 0xdb, 0xc6, 0xff, 0xce, 0x2c, 0xb4, 0x3b, 0xfe, 0xf1, 0x22, 0xf3, 0xff, 0x51, 0x38, 0x3e, + 0x67, 0xcf, 0xff, 0xaf, 0x3d, 0xef, 0x68, 0xef, 0xf8, 0x8f, 0x1b, 0xe7, 0xd7, 0x58, 0x72, 0xfd, 0x3f, 0x4e, 0xae, 0x36, + 0x7a, 0xde, 0x67, 0xb4, 0xad, 0xdf, 0xff, 0xf7, 0xbe, 0xe5, 0x6b, 0xf5, 0xb3, 0x2b, 0x16, 0x58, 0x75, 0x1d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0xfe, 0xff, 0xd9, 0x1d, 0xe4, 0xfc, 0xbd, 0xe8, 0xd1, 0x78, 0x6f, 0x3f, 0x9a, 0x32, 0x19, + 0xc6, 0xc1, 0x9d, 0xf8, 0xec, 0x0a, 0x7c, 0x3d, 0x99, 0xb9, 0x47, 0x7b, 0xdf, 0x57, 0xd3, 0x30, 0x6e, 0xef, 0x51, 0x7e, + 0x3d, 0xc1, 0xe7, 0x57, 0x96, 0x8d, 0xc6, 0xcc, 0xae, 0x75, 0xd5, 0x36, 0x33, 0x73, 0xc6, 0xbb, 0xeb, 0x3f, 0xba, 0x5a, + 0x23, 0x6e, 0x8c, 0x0c, 0xb3, 0xe3, 0x5f, 0x5f, 0xe9, 0xbb, 0x7a, 0x7c, 0xad, 0x88, 0x7f, 0x4f, 0x16, 0x69, 0x3e, 0xf2, + 0x6b, 0xd6, 0xd3, 0x3e, 0x7b, 0x9e, 0xca, 0xba, 0xdc, 0xc7, 0x4a, 0x06, 0xed, 0xbb, 0xc6, 0xff, 0xf9, 0xf5, 0xb4, 0x67, + 0x55, 0x76, 0xf5, 0x66, 0xd0, 0x8b, 0xff, 0xbc, 0xda, 0xbe, 0x58, 0x38, 0x32, 0x55, 0x2b, 0x68, 0xe6, 0xd5, 0x0c, 0x76, + 0x57, 0x91, 0xcc, 0x1f, 0xff, 0x6b, 0xcf, 0xb9, 0xaa, 0x3c, 0x1d, 0x68, 0xb7, 0xfe, 0xdf, 0x99, 0x3b, 0xbd, 0x4b, 0xfc, + 0xeb, 0xb3, 0xfc, 0xd1, 0x34, 0x2b, 0x7d, 0x6e, 0xfc, 0x5f, 0xfd, 0xc4, 0x8b, 0xfa, 0x3c, 0xfc, 0x89, 0x3d, 0xa9, 0xbc, + 0x73, 0xe5, 0xaf, 0xb2, 0x99, 0xfd, 0x9d, 0xf1, 0xdf, 0xef, 0x08, 0xe0, 0xe9, 0x51, 0x8c, 0xf7, 0x3a, 0x02, 0x54, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0xbb, 0xe3, 0x7e, 0x9c, 0xa5, 0x13, 0x2d, 0x19, 0x37, 0xbb, 0xaf, 0xa5, + 0x3f, 0x4e, 0xd6, 0xa7, 0xbd, 0x96, 0xdb, 0x15, 0xdb, 0xde, 0x0f, 0xae, 0xb6, 0x7f, 0x57, 0xfe, 0xf4, 0xee, 0x6b, 0xe9, + 0xdf, 0x5f, 0x93, 0x33, 0x4e, 0x8e, 0x8e, 0x57, 0x8c, 0x7f, 0x25, 0x67, 0xf4, 0xf9, 0xb5, 0x94, 0xa3, 0x94, 0xf1, 0x1a, + 0x9b, 0xe7, 0xcc, 0xed, 0x94, 0x8b, 0xbd, 0x72, 0xfc, 0x8f, 0x72, 0x74, 0xa2, 0x21, 0x0f, 0x5a, 0xfc, 0x47, 0xba, 0x16, + 0x6f, 0xe7, 0xfe, 0xff, 0xc4, 0xda, 0xeb, 0xef, 0x17, 0xff, 0xce, 0x8a, 0xab, 0x19, 0x6b, 0x69, 0xe7, 0xab, 0x3b, 0xdf, + 0xbf, 0xff, 0x57, 0xe7, 0xff, 0x3d, 0xe3, 0xff, 0xea, 0xb5, 0xb4, 0xf3, 0xf3, 0xff, 0xcf, 0x18, 0xff, 0xef, 0xbc, 0x22, + 0x73, 0xac, 0xbd, 0x5e, 0x5e, 0xae, 0xf8, 0x7f, 0x7a, 0x5e, 0xee, 0xdd, 0xeb, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x46, 0xbf, 0x00 }; + +// Font characters rectangles data +static const Rectangle darkFontRecs[95] = { + { 4, 4, 4 , 16 }, + { 16, 4, 1 , 9 }, + { 25, 4, 3 , 3 }, + { 36, 4, 6 , 9 }, + { 50, 4, 5 , 13 }, + { 63, 4, 7 , 9 }, + { 78, 4, 5 , 9 }, + { 91, 4, 1 , 3 }, + { 100, 4, 3 , 9 }, + { 111, 4, 3 , 9 }, + { 122, 4, 5 , 5 }, + { 135, 4, 5 , 5 }, + { 148, 4, 2 , 3 }, + { 158, 4, 4 , 1 }, + { 170, 4, 1 , 1 }, + { 179, 4, 3 , 9 }, + { 190, 4, 5 , 9 }, + { 203, 4, 3 , 9 }, + { 214, 4, 5 , 9 }, + { 227, 4, 5 , 9 }, + { 240, 4, 5 , 9 }, + { 4, 28, 5 , 9 }, + { 17, 28, 5 , 9 }, + { 30, 28, 5 , 9 }, + { 43, 28, 5 , 9 }, + { 56, 28, 5 , 9 }, + { 69, 28, 1 , 7 }, + { 78, 28, 2 , 9 }, + { 88, 28, 3 , 5 }, + { 99, 28, 4 , 3 }, + { 111, 28, 3 , 5 }, + { 122, 28, 5 , 9 }, + { 135, 28, 7 , 9 }, + { 150, 28, 5 , 9 }, + { 163, 28, 5 , 9 }, + { 176, 28, 5 , 9 }, + { 189, 28, 5 , 9 }, + { 202, 28, 5 , 9 }, + { 215, 28, 5 , 9 }, + { 228, 28, 5 , 9 }, + { 241, 28, 5 , 9 }, + { 4, 52, 1 , 9 }, + { 13, 52, 5 , 9 }, + { 26, 52, 5 , 9 }, + { 39, 52, 5 , 9 }, + { 52, 52, 7 , 9 }, + { 67, 52, 5 , 9 }, + { 80, 52, 5 , 9 }, + { 93, 52, 5 , 9 }, + { 106, 52, 5 , 9 }, + { 119, 52, 5 , 9 }, + { 132, 52, 5 , 9 }, + { 145, 52, 5 , 9 }, + { 158, 52, 5 , 9 }, + { 171, 52, 5 , 9 }, + { 184, 52, 7 , 9 }, + { 199, 52, 5 , 9 }, + { 212, 52, 5 , 9 }, + { 225, 52, 5 , 9 }, + { 238, 52, 3 , 9 }, + { 4, 76, 3 , 9 }, + { 15, 76, 3 , 9 }, + { 26, 76, 5 , 3 }, + { 39, 76, 5 , 1 }, + { 52, 76, 2 , 2 }, + { 62, 76, 5 , 7 }, + { 75, 76, 5 , 9 }, + { 88, 76, 5 , 7 }, + { 101, 76, 5 , 9 }, + { 114, 76, 5 , 7 }, + { 127, 76, 4 , 9 }, + { 139, 76, 5 , 9 }, + { 152, 76, 5 , 9 }, + { 165, 76, 1 , 9 }, + { 174, 76, 5 , 11 }, + { 187, 76, 5 , 9 }, + { 200, 76, 2 , 9 }, + { 210, 76, 7 , 7 }, + { 225, 76, 5 , 7 }, + { 238, 76, 5 , 7 }, + { 4, 100, 5 , 9 }, + { 17, 100, 5 , 9 }, + { 30, 100, 5 , 7 }, + { 43, 100, 5 , 7 }, + { 56, 100, 4 , 8 }, + { 68, 100, 5 , 7 }, + { 81, 100, 5 , 7 }, + { 94, 100, 7 , 7 }, + { 109, 100, 5 , 7 }, + { 122, 100, 5 , 9 }, + { 135, 100, 5 , 7 }, + { 148, 100, 4 , 9 }, + { 160, 100, 1 , 9 }, + { 169, 100, 4 , 9 }, + { 181, 100, 6 , 2 }, +}; + +// Font glyphs info data +// NOTE: No glyphs.image data provided +static const GlyphInfo darkFontChars[95] = { + { 32, 0, 13, 4, { 0 }}, + { 33, 2, 4, 5, { 0 }}, + { 34, 2, 4, 7, { 0 }}, + { 35, 1, 4, 8, { 0 }}, + { 36, 1, 2, 7, { 0 }}, + { 37, 1, 4, 9, { 0 }}, + { 38, 1, 4, 7, { 0 }}, + { 39, 2, 4, 5, { 0 }}, + { 40, 3, 4, 7, { 0 }}, + { 41, 1, 4, 7, { 0 }}, + { 42, 1, 4, 7, { 0 }}, + { 43, 1, 6, 7, { 0 }}, + { 44, 1, 12, 5, { 0 }}, + { 45, 1, 8, 6, { 0 }}, + { 46, 2, 12, 5, { 0 }}, + { 47, 1, 4, 5, { 0 }}, + { 48, 1, 4, 7, { 0 }}, + { 49, 2, 4, 7, { 0 }}, + { 50, 1, 4, 7, { 0 }}, + { 51, 1, 4, 7, { 0 }}, + { 52, 1, 4, 7, { 0 }}, + { 53, 1, 4, 7, { 0 }}, + { 54, 1, 4, 7, { 0 }}, + { 55, 1, 4, 7, { 0 }}, + { 56, 1, 4, 7, { 0 }}, + { 57, 1, 4, 7, { 0 }}, + { 58, 2, 6, 5, { 0 }}, + { 59, 1, 6, 5, { 0 }}, + { 60, 1, 6, 5, { 0 }}, + { 61, 1, 7, 6, { 0 }}, + { 62, 1, 6, 5, { 0 }}, + { 63, 1, 4, 7, { 0 }}, + { 64, 1, 4, 9, { 0 }}, + { 65, 1, 4, 7, { 0 }}, + { 66, 1, 4, 7, { 0 }}, + { 67, 1, 4, 7, { 0 }}, + { 68, 1, 4, 7, { 0 }}, + { 69, 1, 4, 7, { 0 }}, + { 70, 1, 4, 7, { 0 }}, + { 71, 1, 4, 7, { 0 }}, + { 72, 1, 4, 7, { 0 }}, + { 73, 2, 4, 5, { 0 }}, + { 74, 1, 4, 7, { 0 }}, + { 75, 1, 4, 7, { 0 }}, + { 76, 1, 4, 7, { 0 }}, + { 77, 1, 4, 9, { 0 }}, + { 78, 1, 4, 7, { 0 }}, + { 79, 1, 4, 7, { 0 }}, + { 80, 1, 4, 7, { 0 }}, + { 81, 1, 4, 7, { 0 }}, + { 82, 1, 4, 7, { 0 }}, + { 83, 1, 4, 7, { 0 }}, + { 84, 1, 4, 7, { 0 }}, + { 85, 1, 4, 7, { 0 }}, + { 86, 1, 4, 7, { 0 }}, + { 87, 1, 4, 9, { 0 }}, + { 88, 1, 4, 7, { 0 }}, + { 89, 1, 4, 7, { 0 }}, + { 90, 1, 4, 7, { 0 }}, + { 91, 3, 4, 7, { 0 }}, + { 92, 1, 4, 5, { 0 }}, + { 93, 1, 4, 7, { 0 }}, + { 94, 1, 4, 7, { 0 }}, + { 95, 0, 14, 5, { 0 }}, + { 96, 1, 4, 5, { 0 }}, + { 97, 1, 6, 7, { 0 }}, + { 98, 1, 4, 7, { 0 }}, + { 99, 1, 6, 7, { 0 }}, + { 100, 1, 4, 7, { 0 }}, + { 101, 1, 6, 7, { 0 }}, + { 102, 1, 4, 6, { 0 }}, + { 103, 1, 6, 7, { 0 }}, + { 104, 1, 4, 7, { 0 }}, + { 105, 2, 4, 5, { 0 }}, + { 106, 1, 4, 7, { 0 }}, + { 107, 1, 4, 7, { 0 }}, + { 108, 2, 4, 5, { 0 }}, + { 109, 1, 6, 9, { 0 }}, + { 110, 1, 6, 7, { 0 }}, + { 111, 1, 6, 7, { 0 }}, + { 112, 1, 6, 7, { 0 }}, + { 113, 1, 6, 7, { 0 }}, + { 114, 1, 6, 7, { 0 }}, + { 115, 1, 6, 7, { 0 }}, + { 116, 1, 5, 6, { 0 }}, + { 117, 1, 6, 7, { 0 }}, + { 118, 1, 6, 7, { 0 }}, + { 119, 1, 6, 9, { 0 }}, + { 120, 1, 6, 7, { 0 }}, + { 121, 1, 6, 7, { 0 }}, + { 122, 1, 6, 7, { 0 }}, + { 123, 2, 4, 7, { 0 }}, + { 124, 2, 4, 5, { 0 }}, + { 125, 1, 4, 7, { 0 }}, + { 126, 1, 4, 8, { 0 }}, +}; + +// Style loading function: dark +static void GuiLoadStyleDark(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < DARK_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(darkStyleProps[i].controlId, darkStyleProps[i].propertyId, darkStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int darkFontDataSize = 0; + unsigned char *data = DecompressData(darkFontData, DARK_COMPRESSED_DATA_SIZE, &darkFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 16; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + UnloadImage(imFont); // Uncompressed data can be unloaded from memory + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, darkFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, darkFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // TODO: Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + //Rectangle whiteChar = { 0, 0, 0, 0 }; + //SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/dark/dark.rgs b/styles/dark/dark.rgs new file mode 100644 index 0000000..9021402 Binary files /dev/null and b/styles/dark/dark.rgs differ diff --git a/styles/dark/font_LICENSE.txt b/styles/dark/font_LICENSE.txt new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/styles/dark/font_LICENSE.txt @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/styles/dark/screenshot.png b/styles/dark/screenshot.png new file mode 100644 index 0000000..febb132 Binary files /dev/null and b/styles/dark/screenshot.png differ diff --git a/styles/dark/style_table.png b/styles/dark/style_table.png new file mode 100644 index 0000000..2a3cd55 Binary files /dev/null and b/styles/dark/style_table.png differ diff --git a/styles/enefete/GenericMobileSystemNuevo.ttf b/styles/enefete/GenericMobileSystemNuevo.ttf new file mode 100644 index 0000000..777a528 Binary files /dev/null and b/styles/enefete/GenericMobileSystemNuevo.ttf differ diff --git a/styles/enefete/README.md b/styles/enefete/README.md new file mode 100644 index 0000000..c7359f2 --- /dev/null +++ b/styles/enefete/README.md @@ -0,0 +1,16 @@ +style: enefete +-------------- +Inspired by money and pain, a desperate jump into the trendings train, a train to nowhere. Don't stare at it for too long! + +![enefete style table](enefete_table.png) + +screenshot +----------- + +![enefete style screen](screenshot.png) + +about font +----------- +"Generic Mobile System" font by de Jayvee Enaguas. + +CC0 1.0 Universal, downloaded from dafont.com: [generic-mobile-system](https://www.dafont.com/generic-mobile-system.font) diff --git a/styles/enefete/enefete.h b/styles/enefete/enefete.h new file mode 100644 index 0000000..2472186 --- /dev/null +++ b/styles/enefete/enefete.h @@ -0,0 +1,353 @@ +////////////////////////////////////////////////////////////////////////////////// +// // +// StyleAsCode exporter v1.2 - Style data exported as a values array // +// // +// USAGE: On init call: GuiLoadStyleEnefete(); // +// // +// more info and bugs-report: github.com/raysan5/raygui // +// feedback and support: ray[at]raylibtech.com // +// // +// Copyright (c) 2020-2022 raylib technologies (@raylibtech) // +// // +////////////////////////////////////////////////////////////////////////////////// + +#define ENEFETE_STYLE_PROPS_COUNT 16 + +// Custom style name: enefete +static const GuiStyleProp enefeteStyleProps[ENEFETE_STYLE_PROPS_COUNT] = { + { 0, 0, 0x1980d5ff }, // DEFAULT_BORDER_COLOR_NORMAL + { 0, 1, 0x4df3ebff }, // DEFAULT_BASE_COLOR_NORMAL + { 0, 2, 0x103e60ff }, // DEFAULT_TEXT_COLOR_NORMAL + { 0, 3, 0xe7e2f7ff }, // DEFAULT_BORDER_COLOR_FOCUSED + { 0, 4, 0x23d4ddff }, // DEFAULT_BASE_COLOR_FOCUSED + { 0, 5, 0xf1f1f1ff }, // DEFAULT_TEXT_COLOR_FOCUSED + { 0, 6, 0x6413a6ff }, // DEFAULT_BORDER_COLOR_PRESSED + { 0, 7, 0xea66d9ff }, // DEFAULT_BASE_COLOR_PRESSED + { 0, 8, 0x9f00bbff }, // DEFAULT_TEXT_COLOR_PRESSED + { 0, 9, 0x4b909eff }, // DEFAULT_BORDER_COLOR_DISABLED + { 0, 10, 0x73c7d0ff }, // DEFAULT_BASE_COLOR_DISABLED + { 0, 11, 0x448894ff }, // DEFAULT_TEXT_COLOR_DISABLED + { 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE + { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING + { 0, 18, 0x1d3f6cff }, // DEFAULT_LINE_COLOR + { 0, 19, 0x29c9e5ff }, // DEFAULT_BACKGROUND_COLOR +}; + +// WARNING: This style uses a custom font: GenericMobileSystemNuevo.ttf (size: 16, spacing: 0) + +#define ENEFETE_COMPRESSED_DATA_SIZE 1270 + +// Font image pixels data compressed (DEFLATE) +// NOTE: Original pixel data simplified to GRAYSCALE +static unsigned char enefeteFontData[ENEFETE_COMPRESSED_DATA_SIZE] = { 0xed, + 0xdd, 0x51, 0x96, 0xe3, 0x26, 0x10, 0x05, 0x50, 0xf6, 0xbf, 0xe9, 0xca, 0xc9, 0x47, 0x72, 0x26, 0x93, 0x69, 0x01, 0x45, + 0x21, 0x61, 0xf9, 0xf6, 0xfd, 0xb3, 0xda, 0xdd, 0x32, 0xcf, 0x12, 0x92, 0x29, 0x70, 0x34, 0x00, 0x80, 0xdf, 0xfc, 0xfd, + 0xf3, 0xe7, 0xc7, 0xfe, 0xb4, 0xe5, 0x7a, 0xdb, 0x3f, 0xbf, 0xd1, 0xdb, 0x12, 0x3f, 0xee, 0x49, 0x5c, 0x6c, 0x1b, 0xfb, + 0x5f, 0xb9, 0xfd, 0x8a, 0xa9, 0xb6, 0x89, 0x8b, 0x56, 0x6b, 0xcb, 0x8f, 0xb7, 0xcb, 0xb6, 0xbf, 0x7a, 0xd6, 0xf3, 0xf9, + 0xc7, 0xc5, 0x3e, 0xc6, 0xbf, 0x19, 0xc4, 0xc5, 0x7e, 0xc4, 0xe5, 0xd6, 0x91, 0x44, 0xaf, 0xfe, 0x77, 0x5d, 0x42, 0xab, + 0x7f, 0x25, 0xba, 0x47, 0xc2, 0x5c, 0x0b, 0x9d, 0x90, 0x7f, 0xfc, 0xd2, 0xce, 0x91, 0xcc, 0x60, 0x3c, 0xff, 0xba, 0xa3, + 0xf6, 0xfa, 0x3d, 0xbb, 0xaf, 0x85, 0xaf, 0xda, 0x69, 0xfe, 0x6c, 0x55, 0xb7, 0x77, 0xd7, 0xbf, 0xdd, 0x3b, 0x03, 0xee, + 0xc8, 0xbf, 0xe2, 0x78, 0xfb, 0xf9, 0x2f, 0xc7, 0xc4, 0x99, 0xa4, 0xa6, 0x7d, 0x7b, 0xaf, 0xf6, 0xd4, 0xfc, 0x47, 0x8f, + 0xff, 0x9f, 0x7b, 0xe0, 0xe8, 0xbe, 0xb7, 0x76, 0x9c, 0x6f, 0xfb, 0xbd, 0xd6, 0x9d, 0xd7, 0x57, 0x2b, 0xf9, 0xc7, 0xc1, + 0xf9, 0x8f, 0xec, 0x5d, 0x74, 0xfb, 0xff, 0xd1, 0xe3, 0x6e, 0x2e, 0xff, 0xba, 0x23, 0xfa, 0xc9, 0xfc, 0xef, 0xb9, 0xfe, + 0xcb, 0x9e, 0xff, 0x47, 0xce, 0xb4, 0x3f, 0x25, 0xfc, 0x6b, 0x8b, 0xc4, 0x86, 0xf3, 0xff, 0x49, 0xf7, 0x57, 0xd9, 0xfc, + 0xe3, 0x80, 0xd7, 0x36, 0x76, 0xff, 0x77, 0xd5, 0xa3, 0xf6, 0xf3, 0x6f, 0xaf, 0xc9, 0x3f, 0x92, 0x57, 0x3b, 0x3f, 0x5f, + 0xa9, 0xde, 0xb5, 0x87, 0x6b, 0xfd, 0x7f, 0xef, 0x9e, 0xe7, 0xdb, 0xf3, 0xbf, 0xbe, 0xff, 0x9b, 0xbb, 0xdf, 0xf9, 0xb4, + 0xfc, 0x7b, 0x77, 0xbd, 0x6f, 0x3a, 0xff, 0x67, 0xaf, 0xe3, 0xe7, 0xef, 0x54, 0xcf, 0x79, 0xbd, 0xf7, 0xed, 0xe1, 0xbe, + 0xbb, 0x36, 0xaa, 0x53, 0xb9, 0xeb, 0x7f, 0x49, 0xff, 0x9b, 0xf2, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xcb, 0xf7, + 0xab, 0x76, 0xe6, 0xeb, 0x63, 0x7b, 0x5b, 0xe6, 0x2b, 0xd9, 0xaf, 0x9f, 0x35, 0x37, 0xda, 0x5b, 0x53, 0xc1, 0x3f, 0xd3, + 0x82, 0x6d, 0x7a, 0x6b, 0x6f, 0x5c, 0x37, 0x86, 0x5a, 0x79, 0x74, 0x24, 0x7a, 0xb6, 0xd5, 0x47, 0x46, 0xa9, 0x33, 0x23, + 0xd9, 0x2b, 0xdb, 0xc6, 0x2b, 0x25, 0x6b, 0x2b, 0x36, 0x62, 0x60, 0x2e, 0x42, 0x24, 0xab, 0x26, 0xfa, 0xaf, 0x2f, 0x36, + 0x56, 0xcd, 0xc4, 0x45, 0xd5, 0xf6, 0x5a, 0x25, 0x72, 0x65, 0xfe, 0x75, 0x75, 0x17, 0xb1, 0xf0, 0xba, 0xa2, 0x33, 0xea, + 0x1c, 0x5b, 0x12, 0xee, 0xed, 0xcb, 0x5a, 0xd5, 0xcc, 0xae, 0xfc, 0xe7, 0xab, 0x1f, 0x2b, 0xf2, 0x8f, 0xad, 0xa3, 0xd8, + 0x3f, 0xe7, 0x1f, 0x87, 0xe7, 0xdf, 0x9b, 0x5f, 0x37, 0xd7, 0x5b, 0xae, 0x1c, 0x49, 0xfd, 0x3e, 0x7e, 0xed, 0xfc, 0xbf, + 0xf7, 0xec, 0x71, 0x5d, 0xd7, 0x9a, 0x49, 0x78, 0xee, 0x9a, 0xa7, 0xfa, 0xf8, 0xdf, 0xd1, 0x8f, 0xe7, 0xab, 0x9f, 0xe7, + 0xae, 0xcf, 0xee, 0xeb, 0xff, 0xdb, 0x60, 0x5d, 0xf3, 0xe7, 0x9d, 0xff, 0xcf, 0xca, 0xbf, 0x4d, 0x5f, 0xd1, 0x54, 0xce, + 0x6e, 0xc8, 0xd6, 0x9c, 0xf6, 0xf2, 0x1f, 0x79, 0x57, 0x3f, 0x99, 0x7f, 0xe6, 0x4c, 0xbe, 0x32, 0x8b, 0xa5, 0x2a, 0xff, + 0x33, 0xaa, 0xcd, 0xce, 0x3f, 0xfe, 0xef, 0xbe, 0x57, 0xcb, 0xe6, 0xbf, 0x67, 0x96, 0xf3, 0xfe, 0xf9, 0x1c, 0x23, 0x73, + 0xdb, 0xd6, 0xf2, 0x5f, 0x6d, 0xad, 0xfe, 0x27, 0x05, 0x95, 0x9f, 0xd5, 0x8c, 0xcc, 0x62, 0x8c, 0x92, 0x79, 0xa0, 0xe7, + 0xe4, 0x9f, 0x3b, 0x4a, 0xef, 0xf9, 0xfc, 0x87, 0xbb, 0xaa, 0x9e, 0x65, 0xe1, 0xf3, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xfb, 0x46, 0x27, 0xfa, 0x55, 0xfe, 0x91, 0x18, 0x83, 0xac, 0xaa, 0xcf, 0xca, 0xd7, 0x42, 0xc4, 0x6f, 0x35, 0xb8, + 0x31, 0x5d, 0x2b, 0x11, 0xe9, 0xd9, 0x0c, 0xcf, 0x3c, 0x77, 0xbe, 0xf6, 0x73, 0x7d, 0x6b, 0x65, 0x66, 0xf3, 0xf5, 0x0c, + 0xa3, 0xf3, 0x2b, 0x62, 0x5b, 0x9d, 0xc5, 0xdd, 0x5b, 0xc7, 0x1e, 0xbf, 0x2f, 0xff, 0x76, 0xd3, 0xf1, 0x9f, 0xcd, 0x3f, + 0xba, 0x33, 0x99, 0xce, 0xcd, 0x3f, 0x53, 0x43, 0xfd, 0xce, 0xfc, 0xf3, 0xab, 0xe2, 0x47, 0xb7, 0x92, 0xfd, 0xc4, 0xfc, + 0xe3, 0xa6, 0xfc, 0x57, 0x66, 0xeb, 0xb5, 0xe4, 0xb5, 0xc3, 0xbd, 0xf9, 0xb7, 0x6e, 0xc2, 0xb1, 0x90, 0x52, 0xfe, 0x0a, + 0x68, 0xa5, 0xde, 0xed, 0xa4, 0xe3, 0xff, 0x8e, 0xfe, 0x3f, 0x0a, 0xbe, 0x15, 0x63, 0x47, 0xfe, 0xab, 0xed, 0x93, 0xab, + 0x86, 0xfc, 0xc6, 0xfc, 0xb3, 0xfd, 0xff, 0xf8, 0xb5, 0xc5, 0x59, 0xf9, 0x8f, 0xcc, 0xcd, 0xfa, 0x9e, 0xfc, 0xdb, 0x4b, + 0xf3, 0xcf, 0xcf, 0x2d, 0x7a, 0x5b, 0xfe, 0xb1, 0xe1, 0x2c, 0xbc, 0x7a, 0xff, 0xff, 0x54, 0xfe, 0x77, 0xde, 0xff, 0xad, + 0xaf, 0x7c, 0x50, 0xf5, 0xf9, 0x4f, 0xfd, 0x95, 0xd4, 0xfe, 0xcf, 0x7f, 0xf6, 0xb4, 0x4f, 0x1b, 0xfa, 0x3e, 0x9d, 0xec, + 0x4c, 0x76, 0x4e, 0x98, 0x1d, 0x82, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xbe, 0x91, 0x89, 0xde, 0xe8, 0x69, + 0xed, 0x2a, 0x74, 0x63, 0xf3, 0x0e, 0x66, 0xc6, 0xbc, 0x33, 0xe3, 0xe4, 0xd9, 0xfa, 0xc4, 0xec, 0x9a, 0xbc, 0xd5, 0xeb, + 0xec, 0xb5, 0xb2, 0xf5, 0xff, 0xef, 0xce, 0x7f, 0x74, 0x4c, 0x3e, 0x5b, 0xe9, 0x31, 0xde, 0xea, 0xb3, 0x7f, 0x6f, 0xad, + 0x0e, 0xa5, 0x76, 0x2d, 0xd5, 0xfc, 0x3a, 0xba, 0x33, 0x09, 0xf6, 0x6b, 0xef, 0xaa, 0xd7, 0xf3, 0xad, 0xca, 0x7f, 0x6d, + 0xd5, 0xd0, 0x8a, 0x75, 0xa8, 0xdb, 0x62, 0x2d, 0x96, 0xfc, 0xd7, 0xb7, 0xec, 0xe8, 0x2f, 0x33, 0x6b, 0xe2, 0x67, 0xea, + 0x84, 0x56, 0x7a, 0xc9, 0x3b, 0xf2, 0x6f, 0xa9, 0x6f, 0x0f, 0xca, 0x1f, 0xe7, 0xa7, 0xe7, 0x5f, 0xdd, 0x37, 0x64, 0xaf, + 0x18, 0xc6, 0x5b, 0x64, 0xf4, 0xe8, 0xce, 0xe4, 0x9f, 0x3d, 0x27, 0xbe, 0x37, 0xff, 0xda, 0xb5, 0xb4, 0x33, 0x73, 0x47, + 0x6b, 0xf3, 0xbf, 0x7e, 0x6f, 0xbc, 0x2f, 0xff, 0x91, 0xfe, 0x3f, 0xf3, 0x9d, 0x68, 0x2d, 0xbd, 0xce, 0xf6, 0x6a, 0xd5, + 0xd9, 0x53, 0xf9, 0x57, 0x9f, 0x35, 0x9e, 0xaf, 0xb1, 0xcb, 0x5e, 0x6d, 0xe6, 0xaf, 0x52, 0x2b, 0xce, 0xff, 0xa3, 0xdf, + 0xff, 0xb3, 0xab, 0x4a, 0x5d, 0xfe, 0xd5, 0xf9, 0xcf, 0xde, 0xf5, 0xc6, 0xc2, 0xb7, 0xdb, 0xad, 0xe4, 0x5f, 0x7b, 0x27, + 0x75, 0x46, 0xfe, 0xb9, 0x4f, 0x1b, 0xb2, 0xcf, 0x7c, 0x6b, 0x5d, 0x71, 0xb6, 0x0d, 0x7d, 0x9e, 0xfb, 0xae, 0x55, 0x69, + 0x76, 0xfd, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x37, 0xd4, 0xff, 0xaf, 0xd6, 0x6e, 0x8c, 0xae, 0xc2, 0xfe, 0xff, + 0x47, 0x73, 0xdf, 0x62, 0x1e, 0x8b, 0xcf, 0x8b, 0xe9, 0x4a, 0x98, 0xb9, 0x91, 0xe7, 0x8a, 0x4a, 0xc1, 0xda, 0x6a, 0xb1, + 0xe7, 0xf2, 0xcf, 0x55, 0x97, 0x3e, 0x51, 0x6b, 0x97, 0xad, 0xd0, 0xaa, 0xce, 0xbf, 0xbe, 0x55, 0x76, 0x8f, 0x9a, 0xbf, + 0x23, 0xff, 0x56, 0x56, 0xe3, 0xba, 0x2b, 0xff, 0xfc, 0xfb, 0x74, 0xb6, 0xf2, 0x64, 0xf7, 0x1a, 0xbd, 0x9f, 0x93, 0xff, + 0x48, 0x6f, 0x73, 0x5f, 0xfe, 0xfd, 0xc7, 0xe7, 0x8f, 0xff, 0x27, 0xd6, 0xe8, 0xff, 0xa4, 0xfc, 0xdb, 0xd0, 0xea, 0xb4, + 0x9f, 0x79, 0xfc, 0xb7, 0xd2, 0x35, 0xfa, 0xcf, 0x38, 0xff, 0xe7, 0xaf, 0xff, 0xda, 0x0d, 0xfd, 0x7f, 0xfb, 0xcf, 0xb7, + 0x52, 0xd4, 0xb5, 0xca, 0x7c, 0x25, 0x61, 0x75, 0xfe, 0x77, 0xf5, 0xff, 0x6d, 0x61, 0x55, 0xe6, 0xda, 0xf3, 0x7f, 0x76, + 0x16, 0xc6, 0xea, 0xbb, 0x6d, 0x75, 0xb6, 0xe1, 0xf3, 0xc7, 0xff, 0x93, 0xd5, 0xa3, 0x95, 0xfb, 0x73, 0x4e, 0xe5, 0xe1, + 0x67, 0xf5, 0xff, 0xf2, 0x3f, 0xa3, 0x72, 0xb6, 0x3d, 0xfc, 0x1d, 0x1d, 0xdf, 0x59, 0xaf, 0xfe, 0xc9, 0xaf, 0x54, 0xad, + 0xf5, 0xb7, 0xd7, 0xe6, 0x6b, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x93, 0x47, 0x73, 0x62, 0x72, 0x75, 0xd7, 0xd9, + 0xfa, 0x9f, 0xf8, 0x65, 0x74, 0x58, 0x9b, 0x7f, 0xce, 0x08, 0x76, 0xcd, 0xaa, 0x8e, 0xd1, 0x7d, 0x97, 0x71, 0x66, 0xfd, + 0x42, 0x55, 0xfe, 0xdf, 0x56, 0x25, 0xf1, 0x96, 0xea, 0x95, 0xda, 0x55, 0x5d, 0x79, 0xcb, 0x0c, 0x40, 0xf9, 0x9b, 0xff, + 0xf9, 0xed, 0x95, 0x70, 0xdf, 0x70, 0xfd, 0xef, 0xf8, 0xf7, 0xee, 0x90, 0xbf, 0xfc, 0xe5, 0x2f, 0x7f, 0xf9, 0xcb, 0x5f, + 0xfe, 0xaa, 0xfd, 0x73, 0xf3, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x8f, 0xf3, 0x17 }; + +// Font characters rectangles data +static const Rectangle enefeteFontRecs[95] = { + { 4, 4, 4 , 16 }, + { 16, 4, 2 , 10 }, + { 26, 4, 5 , 3 }, + { 39, 4, 7 , 10 }, + { 54, 4, 7 , 13 }, + { 69, 4, 7 , 10 }, + { 84, 4, 7 , 10 }, + { 99, 4, 2 , 3 }, + { 109, 4, 3 , 12 }, + { 120, 4, 3 , 12 }, + { 131, 4, 5 , 6 }, + { 144, 4, 6 , 5 }, + { 158, 4, 2 , 4 }, + { 168, 4, 5 , 1 }, + { 181, 4, 2 , 2 }, + { 191, 4, 4 , 10 }, + { 203, 4, 6 , 10 }, + { 217, 4, 4 , 10 }, + { 229, 4, 6 , 10 }, + { 4, 28, 6 , 10 }, + { 18, 28, 6 , 10 }, + { 32, 28, 6 , 10 }, + { 46, 28, 6 , 10 }, + { 60, 28, 6 , 10 }, + { 74, 28, 6 , 10 }, + { 88, 28, 6 , 10 }, + { 102, 28, 2 , 6 }, + { 112, 28, 2 , 8 }, + { 122, 28, 7 , 7 }, + { 137, 28, 5 , 3 }, + { 150, 28, 7 , 7 }, + { 165, 28, 6 , 10 }, + { 179, 28, 7 , 12 }, + { 194, 28, 7 , 10 }, + { 209, 28, 7 , 10 }, + { 224, 28, 7 , 10 }, + { 239, 28, 7 , 10 }, + { 4, 52, 7 , 10 }, + { 19, 52, 7 , 10 }, + { 34, 52, 7 , 10 }, + { 49, 52, 7 , 10 }, + { 64, 52, 2 , 10 }, + { 74, 52, 5 , 10 }, + { 87, 52, 7 , 10 }, + { 102, 52, 6 , 10 }, + { 116, 52, 9 , 10 }, + { 133, 52, 7 , 10 }, + { 148, 52, 7 , 10 }, + { 163, 52, 7 , 10 }, + { 178, 52, 7 , 12 }, + { 193, 52, 7 , 10 }, + { 208, 52, 7 , 10 }, + { 223, 52, 6 , 10 }, + { 237, 52, 7 , 10 }, + { 4, 76, 7 , 10 }, + { 19, 76, 8 , 10 }, + { 35, 76, 7 , 10 }, + { 50, 76, 6 , 10 }, + { 64, 76, 7 , 10 }, + { 79, 76, 4 , 12 }, + { 91, 76, 4 , 10 }, + { 103, 76, 4 , 12 }, + { 115, 76, 6 , 3 }, + { 129, 76, 7 , 1 }, + { 144, 76, 4 , 3 }, + { 156, 76, 6 , 7 }, + { 170, 76, 6 , 10 }, + { 184, 76, 6 , 7 }, + { 198, 76, 6 , 10 }, + { 212, 76, 6 , 7 }, + { 226, 76, 4 , 10 }, + { 238, 76, 6 , 9 }, + { 4, 100, 6 , 10 }, + { 18, 100, 2 , 10 }, + { 28, 100, 5 , 12 }, + { 41, 100, 6 , 10 }, + { 55, 100, 3 , 10 }, + { 66, 100, 8 , 7 }, + { 82, 100, 6 , 7 }, + { 96, 100, 6 , 7 }, + { 110, 100, 6 , 9 }, + { 124, 100, 6 , 9 }, + { 138, 100, 5 , 7 }, + { 151, 100, 6 , 7 }, + { 165, 100, 4 , 10 }, + { 177, 100, 6 , 7 }, + { 191, 100, 6 , 7 }, + { 205, 100, 8 , 7 }, + { 221, 100, 6 , 7 }, + { 235, 100, 6 , 9 }, + { 4, 124, 6 , 7 }, + { 18, 124, 5 , 12 }, + { 31, 124, 2 , 12 }, + { 41, 124, 5 , 12 }, + { 54, 124, 7 , 3 }, +}; + +// Font glyphs info data +// NOTE: No glyphs.image data provided +static const GlyphInfo enefeteFontChars[95] = { + { 32, 0, 12, 4, { 0 }}, + { 33, 0, 2, 3, { 0 }}, + { 34, 0, 2, 6, { 0 }}, + { 35, 0, 2, 8, { 0 }}, + { 36, 0, 1, 8, { 0 }}, + { 37, 0, 2, 8, { 0 }}, + { 38, 0, 2, 8, { 0 }}, + { 39, 0, 2, 3, { 0 }}, + { 40, 0, 2, 4, { 0 }}, + { 41, 0, 2, 4, { 0 }}, + { 42, 0, 4, 6, { 0 }}, + { 43, 0, 6, 7, { 0 }}, + { 44, 0, 10, 3, { 0 }}, + { 45, 0, 8, 6, { 0 }}, + { 46, 0, 10, 3, { 0 }}, + { 47, 0, 2, 5, { 0 }}, + { 48, 0, 2, 7, { 0 }}, + { 49, 0, 2, 7, { 0 }}, + { 50, 0, 2, 7, { 0 }}, + { 51, 0, 2, 7, { 0 }}, + { 52, 0, 2, 7, { 0 }}, + { 53, 0, 2, 7, { 0 }}, + { 54, 0, 2, 7, { 0 }}, + { 55, 0, 2, 7, { 0 }}, + { 56, 0, 2, 7, { 0 }}, + { 57, 0, 2, 7, { 0 }}, + { 58, 0, 4, 3, { 0 }}, + { 59, 0, 4, 3, { 0 }}, + { 60, 0, 4, 8, { 0 }}, + { 61, 0, 6, 6, { 0 }}, + { 62, 0, 4, 8, { 0 }}, + { 63, 0, 2, 7, { 0 }}, + { 64, 0, 2, 8, { 0 }}, + { 65, 0, 2, 8, { 0 }}, + { 66, 0, 2, 8, { 0 }}, + { 67, 0, 2, 8, { 0 }}, + { 68, 0, 2, 8, { 0 }}, + { 69, 0, 2, 8, { 0 }}, + { 70, 0, 2, 8, { 0 }}, + { 71, 0, 2, 8, { 0 }}, + { 72, 0, 2, 8, { 0 }}, + { 73, 0, 2, 3, { 0 }}, + { 74, 0, 2, 6, { 0 }}, + { 75, 0, 2, 8, { 0 }}, + { 76, 0, 2, 7, { 0 }}, + { 77, 0, 2, 10, { 0 }}, + { 78, 0, 2, 8, { 0 }}, + { 79, 0, 2, 8, { 0 }}, + { 80, 0, 2, 8, { 0 }}, + { 81, 0, 2, 8, { 0 }}, + { 82, 0, 2, 8, { 0 }}, + { 83, 0, 2, 8, { 0 }}, + { 84, 0, 2, 7, { 0 }}, + { 85, 0, 2, 8, { 0 }}, + { 86, 0, 2, 8, { 0 }}, + { 87, 0, 2, 9, { 0 }}, + { 88, 0, 2, 8, { 0 }}, + { 89, 0, 2, 7, { 0 }}, + { 90, 0, 2, 8, { 0 }}, + { 91, 0, 2, 5, { 0 }}, + { 92, 0, 2, 5, { 0 }}, + { 93, 0, 2, 5, { 0 }}, + { 94, 0, 2, 7, { 0 }}, + { 95, 0, 14, 8, { 0 }}, + { 96, 0, 2, 5, { 0 }}, + { 97, 0, 5, 7, { 0 }}, + { 98, 0, 2, 7, { 0 }}, + { 99, 0, 5, 7, { 0 }}, + { 100, 0, 2, 7, { 0 }}, + { 101, 0, 5, 7, { 0 }}, + { 102, 0, 2, 5, { 0 }}, + { 103, 0, 5, 7, { 0 }}, + { 104, 0, 2, 7, { 0 }}, + { 105, 0, 2, 3, { 0 }}, + { 106, 0, 2, 6, { 0 }}, + { 107, 0, 2, 7, { 0 }}, + { 108, 0, 2, 4, { 0 }}, + { 109, 0, 5, 9, { 0 }}, + { 110, 0, 5, 7, { 0 }}, + { 111, 0, 5, 7, { 0 }}, + { 112, 0, 5, 7, { 0 }}, + { 113, 0, 5, 7, { 0 }}, + { 114, 0, 5, 6, { 0 }}, + { 115, 0, 5, 7, { 0 }}, + { 116, 0, 2, 5, { 0 }}, + { 117, 0, 5, 7, { 0 }}, + { 118, 0, 5, 7, { 0 }}, + { 119, 0, 5, 9, { 0 }}, + { 120, 0, 5, 7, { 0 }}, + { 121, 0, 5, 7, { 0 }}, + { 122, 0, 5, 7, { 0 }}, + { 123, 0, 2, 6, { 0 }}, + { 124, 0, 2, 3, { 0 }}, + { 125, 0, 2, 6, { 0 }}, + { 126, 0, 6, 8, { 0 }}, +}; + +// Style loading function: enefete +static void GuiLoadStyleEnefete(void) +{ + // Load style properties provided + // NOTE: Default properties are propagated + for (int i = 0; i < ENEFETE_STYLE_PROPS_COUNT; i++) + { + GuiSetStyle(enefeteStyleProps[i].controlId, enefeteStyleProps[i].propertyId, enefeteStyleProps[i].propertyValue); + } + + // Custom font loading + // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function + int enefeteFontDataSize = 0; + unsigned char *data = DecompressData(enefeteFontData, ENEFETE_COMPRESSED_DATA_SIZE, &enefeteFontDataSize); + Image imFont = { data, 256, 256, 1, 2 }; + + Font font = { 0 }; + font.baseSize = 16; + font.glyphCount = 95; + + // Load texture from image + font.texture = LoadTextureFromImage(imFont); + UnloadImage(imFont); // Uncompressed data can be unloaded from memory + + // Copy char recs data from global fontRecs + // NOTE: Required to avoid issues if trying to free font + font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); + memcpy(font.recs, enefeteFontRecs, font.glyphCount*sizeof(Rectangle)); + + // Copy font char info data from global fontChars + // NOTE: Required to avoid issues if trying to free font + font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); + memcpy(font.glyphs, enefeteFontChars, font.glyphCount*sizeof(GlyphInfo)); + + GuiSetFont(font); + + // TODO: Setup a white rectangle on the font to be used on shapes drawing, + // this way we make sure all gui can be drawn on a single pass because no texture change is required + // NOTE: Setting up this rectangle is a manual process (for the moment) + //Rectangle whiteChar = { 0, 0, 0, 0 }; + //SetShapesTexture(font.texture, whiteChar); + + //----------------------------------------------------------------- + + // TODO: Custom user style setup: Set specific properties here (if required) + // i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT +} diff --git a/styles/enefete/enefete.rgs b/styles/enefete/enefete.rgs new file mode 100644 index 0000000..25ed8f8 Binary files /dev/null and b/styles/enefete/enefete.rgs differ diff --git a/styles/enefete/font_LICENSE.txt b/styles/enefete/font_LICENSE.txt new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/styles/enefete/font_LICENSE.txt @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/styles/enefete/screenshot.png b/styles/enefete/screenshot.png new file mode 100644 index 0000000..6135a5d Binary files /dev/null and b/styles/enefete/screenshot.png differ diff --git a/styles/enefete/style_table.png b/styles/enefete/style_table.png new file mode 100644 index 0000000..1bc5bf3 Binary files /dev/null and b/styles/enefete/style_table.png differ