/*********************************************************/ /* */ /* common.h */ /* (c)1999-2024 | Juraj Vidéky | videky@breviar.sk */ /* */ /* description | new core basic define's */ /* */ /*********************************************************/ #include "vstudio.h" #ifndef __COMMON_H_ #define __COMMON_H_ #define Q_UNUSED(arg) (void)arg; #define GLOBAL_NULL -1 #define CHAR_EMPTY 0 #define SMALL 160 #define VERY_SMALL 16 #define MAX_BUFFER 256 // navratova hodnota funkcii #define NO_RESULT 2 #define FAILURE 1 #define SUCCESS 0 // true -- false #define TRUE 1 #define FALSE 0 #define ANO 1 #define NIE 0 #define CIASTOCNE 2 #undef YES #undef NO #define YES 1 #define NO 0 #define MAX_STR 1024 // max string length #define GLOBAL_OPTION_NULL 18446744073709551615u // undefined value for global option // div, mod: delenie pre short int #define DIV / #define MOD % // juliansky datum, funkcia juliansky_datum, dane synonymum JD #define JD juliansky_datum #define ROK_1968 1968 #define JUL_DATE_0_JAN_1968 2439856L // juliansky datum pre 0. januar 1968 #define POCET_DNI_V_ROKU 365 #pragma region Anchors & special characters // keyword (anchor) begin + end #define CHAR_KEYWORD_BEGIN '{' #define CHAR_KEYWORD_END '}' #define CHAR_KEYWORD_DIVIDER ':' // underscore '_' used as placeholder for non-breaking space (it will be exported as HTML_NONBREAKING_SPACE defined in mydefs.h) #define CHAR_NONBREAKING_SPACE '_' // char 127 used as placeholder for non-breaking thin space (it will be exported as HTML_NONBREAKING_THIN_SPACE defined in mydefs.h) #define CHAR_NONBREAKING_THIN_SPACE '' // special characters in prayer texts (some of them to be removed for voice output) #define CHAR_SPACE ' ' #define CHAR_PRAYER_ASTERISK '*' #define CHAR_PRAYER_CROSS L'\x2020' /*†*/ // dagger -- used as flexa (obelisk, long cross, oblong cross) | U+2020 #define CHAR_PRAYER_CROSS_ALT '+' #define CHAR_PRAYER_CROSS_D L'\x2021' /*‡*/ // double dagger (diesis, double obelisk) | U+2021 #define CHAR_PRAYER_TRIANGLE L'\x25B3' /*△*/ // 'uppercase delta': Δ (used for doxology) | U+25B3 WHITE UP-POINTING TRIANGLE #define CHAR_EM_DASH L'\x2014' /*—*/ // em dash | U+2014 #define CHAR_EN_DASH L'\x2013' /*–*/ // en dash | U+2013 #define CHAR_QUOTATION_MARK_1 L'\x201E' /*„*/ // low double comma quotation mark | U+201E | SK double opening low-9 #define CHAR_QUOTATION_MARK_2 L'\x201C' /*“*/ // double turned comma quotation mark | U+201C | SK double closing top-6 #define CHAR_QUOTATION_MARK_3 L'\x201A' /*‚*/ // low single comma quotation mark | U+201A | SK signle opening low-9 #define CHAR_QUOTATION_MARK_4 L'\x2018' /*‘*/ // single turned comma quotation mark | U+2018 | SK single closing top-6 #define CHAR_QUOTATION_MARK_5 L'\x201D' /*”*/ // double comma quotation mark | U+201D #define CHAR_QUOTATION_MARK_6 L'\x201F' /*‟*/ // double reversed comma quotation mark | U+201F #define CHAR_QUOTATION_MARK_7 L'\x201B' /*‛*/ // single reversed comma quotation mark | U+201B #define CHAR_QUOTATION_MARK_8 L'\x2039' /*‹*/ // left pointing single guillemet (Single Left-Pointing Angle Quotation Mark) | U+2039 #define CHAR_QUOTATION_MARK_9 L'\x203A' /*›*/ // right pointing single guillemet (Single Right-Pointing Angle Quotation Mark) | U+201B #define CHAR_QUOTATION_MARK_10 L'\x00AB' /*«*/ // left guillemet, chevrons (Left-Pointing Double Angle Quotation Mark) | U+00AB #define CHAR_QUOTATION_MARK_11 L'\x00BB' /*»*/ // right guillemet (Right-Pointing Double Angle Quotation Mark) | U+00BB #define CHAR_APOSTROPHE L'\x2019' /*’*/ // single comma quotation mark | U+2019 | SK apostrophe // not to be excluded for voice output in method ExportChar() #define CHAR_MOON L'\x263E' /*☾*/ // Last Quarter Moon #define CHAR_SUN L'\x263C' /*☼*/ // White Sun with Rays // include parameters #define INCLUDE_BEGIN "BEGIN" // zaciatok #define INCLUDE_END "END" // koniec #pragma endregion #pragma region Week days // week days #define DEN_NEDELA 0 #define DEN_PONDELOK 1 #define DEN_UTOROK 2 #define DEN_STREDA 3 #define DEN_STVRTOK 4 #define DEN_PIATOK 5 #define DEN_SOBOTA 6 #define DEN_UNKNOWN 7 // number of week days #define POCET_DNI 7 // all days #define VSETKY_DNI 32 #define STR_VSETKY_DNI "*" #pragma endregion #pragma region Months // months #define MES_JAN 0 #define MES_FEB 1 #define MES_MAR 2 #define MES_APR 3 #define MES_MAY 4 #define MES_MAJ 4 #define MES_JUN 5 #define MES_JUL 6 #define MES_AUG 7 #define MES_SEP 8 #define MES_OCT 9 #define MES_OKT 9 #define MES_NOV 10 #define MES_DEC 11 #define UNKNOWN_MESIAC 12 // number of months #define POCET_MESIACOV 12 // all months #define VSETKY_MESIACE 13 #define STR_VSETKY_MESIACE "*" #pragma endregion #pragma region string constants #define STR_EN_DASH "–" #define STR_EN_DASH_WITH_SPACES " – " #define STR_EM_DASH "—" #define STR_SPACE " " #define STR_VERTICAL_BAR "|" #define STR_VERTICAL_BAR_WITH_SPACES " | " #define STR_ASTERISK "*" #define STR_CROSS "†" #define STR_SLASH "/" #define STR_UNDERSCORE "_" #define STR_DOT "." #define STR_MIDDLE_DOT "·" #pragma endregion #pragma region TTS #define TTS_PAUSE 1 // standard, for * in psalmody #define TTS_PAUSE_SHORT 2 // shorter, for + in psalmody #define TTS_PAUSE_LONG 3 // longer, reserved (not used yet) #pragma endregion #pragma region HTML string constants #define HTML_FORM_INPUT_SUBMIT HTML_FORM_INPUT_DIV_BEGIN " into
...
#define HTML_FORM_INPUT_DIV_BEGIN HTML_DIV_INLINE #define HTML_FORM_INPUT_DIV_END HTML_DIV_END #define HTML_FORM_SELECT "