File indexing completed on 2024-05-12 05:39:50
0001 /*************************************************************************** 0002 * Copyright (C) 2019 by Renaud Guezennec * 0003 * http://www.rolisteam.org/contact * 0004 * * 0005 * This software is free software; you can redistribute it and/or modify * 0006 * it under the terms of the GNU General Public License as published by * 0007 * the Free Software Foundation; either version 2 of the License, or * 0008 * (at your option) any later version. * 0009 * * 0010 * This program is distributed in the hope that it will be useful, * 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0013 * GNU General Public License for more details. * 0014 * * 0015 * You should have received a copy of the GNU General Public License * 0016 * along with this program; if not, write to the * 0017 * Free Software Foundation, Inc., * 0018 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 0019 ***************************************************************************/ 0020 #ifndef MEDIATYPE_H 0021 #define MEDIATYPE_H 0022 0023 #include <QHash> 0024 #include <QObject> 0025 0026 #include "network_global.h" 0027 0028 namespace Core 0029 { 0030 Q_NAMESPACE_EXPORT(NETWORK_EXPORT) 0031 enum PermissionMode 0032 { 0033 GM_ONLY, 0034 PC_MOVE, 0035 PC_ALL 0036 }; 0037 Q_ENUM_NS(PermissionMode) 0038 0039 /* TOKEN, 0040 SONG, 0041 SONGLIST,*/ 0042 enum class ContentType : int 0043 { 0044 VECTORIALMAP, 0045 PICTURE, 0046 NOTES, 0047 CHARACTERSHEET, 0048 SHAREDNOTE, 0049 PDF, 0050 WEBVIEW, 0051 INSTANTMESSAGING, 0052 MINDMAP, 0053 UNKNOWN 0054 }; 0055 NETWORK_EXPORT Q_ENUM_NS(ContentType) 0056 0057 enum class MediaType : int { 0058 Unknown, 0059 TokenFile, 0060 ImageFile, 0061 MapFile, 0062 TextFile, 0063 CharacterSheetFile, 0064 PdfFile, 0065 WebpageFile, 0066 MindmapFile, 0067 AudioFile, 0068 PlayListFile 0069 }; 0070 NETWORK_EXPORT Q_ENUM_NS(MediaType) 0071 0072 enum class SharingPermission : quint8 { 0073 None, 0074 ReadOnly, 0075 ReadWrite 0076 }; 0077 0078 enum class CampaignAction : quint8 0079 { 0080 NoneAction, 0081 ForgetAction, 0082 CreateAction, 0083 ManageAction, 0084 DeleteAction 0085 }; 0086 NETWORK_EXPORT Q_ENUM_NS(CampaignAction) 0087 0088 enum class CampaignDataCategory : quint8 { 0089 AudioPlayer1, 0090 AudioPlayer2, 0091 AudioPlayer3, 0092 Images, 0093 Maps, 0094 MindMaps, 0095 Notes, 0096 WebLink, 0097 PDFDoc, 0098 DiceAlias, 0099 CharacterStates, 0100 Themes, 0101 CharacterSheets, 0102 AntagonistList 0103 }; 0104 NETWORK_EXPORT Q_ENUM_NS(CampaignDataCategory) 0105 0106 NETWORK_EXPORT inline uint qHash(Core::ContentType type, uint seed) 0107 { 0108 return ::qHash(static_cast<uint>(type), seed); 0109 } 0110 0111 NETWORK_EXPORT inline uint qHash(Core::MediaType type, uint seed) 0112 { 0113 return ::qHash(static_cast<uint>(type), seed); 0114 } 0115 0116 NETWORK_EXPORT inline uint qHash(Core::CampaignDataCategory type, uint seed) 0117 { 0118 return ::qHash(static_cast<uint>(type), seed); 0119 } 0120 0121 enum class LoadingMode 0122 { 0123 Internal, 0124 Linked 0125 }; 0126 NETWORK_EXPORT Q_ENUM_NS(LoadingMode) 0127 0128 enum State { 0129 Unloaded, 0130 Hidden, 0131 Displayed 0132 }; 0133 NETWORK_EXPORT Q_ENUM_NS(State) 0134 0135 enum VisibilityMode { 0136 HIDDEN, 0137 FOGOFWAR, 0138 ALL, 0139 NONE 0140 }; 0141 NETWORK_EXPORT Q_ENUM_NS(VisibilityMode) 0142 0143 enum class GridPattern : quint8 { 0144 NONE, 0145 SQUARE, 0146 HEXAGON, 0147 OCTOGON 0148 }; 0149 NETWORK_EXPORT Q_ENUM_NS(GridPattern) 0150 0151 enum ScaleUnit { 0152 M, 0153 KM, 0154 CM, 0155 MILE, 0156 YARD, 0157 INCH, 0158 FEET, 0159 PX 0160 }; 0161 NETWORK_EXPORT Q_ENUM_NS(ScaleUnit) 0162 0163 enum CharacterScope { 0164 SelectionOnly, 0165 AllCharacter, 0166 AllNPC 0167 }; 0168 NETWORK_EXPORT Q_ENUM_NS(CharacterScope) 0169 0170 enum class EditionMode : int { 0171 Painting, 0172 Mask, 0173 Unmask 0174 }; 0175 0176 enum class TransformType 0177 { 0178 NoTransform, 0179 KeepRatio, 0180 Sticky 0181 }; 0182 NETWORK_EXPORT Q_ENUM_NS(TransformType) 0183 0184 enum SelectableTool { 0185 PEN, 0186 LINE, 0187 EMPTYRECT, 0188 FILLRECT, 0189 EMPTYELLIPSE, 0190 FILLEDELLIPSE, 0191 TEXT, 0192 HANDLER, 0193 NonPlayableCharacter, 0194 PlayableCharacter, 0195 IMAGE, 0196 RULE, 0197 PATH, 0198 ANCHOR, 0199 TEXTBORDER, 0200 PIPETTE, 0201 BUCKET, 0202 HIGHLIGHTER 0203 }; 0204 NETWORK_EXPORT Q_ENUM_NS(SelectableTool) 0205 0206 enum Properties { 0207 ShowNpcName, 0208 ShowPcName, 0209 ShowNpcNumber, 0210 ShowHealthStatus, 0211 ShowInitScore, 0212 ShowGrid, 0213 LocalIsGM, 0214 GridPatternProperty, 0215 GridColor, 0216 GridSize, 0217 Scale, 0218 Unit, 0219 EnableCharacterVision, 0220 PermissionModeProperty, 0221 FogOfWarStatus, 0222 CollisionStatus, 0223 GridAbove, 0224 HideOtherLayers, 0225 VisibilityModeProperty, 0226 ShowHealthBar, 0227 MapLayer 0228 }; 0229 NETWORK_EXPORT Q_ENUM_NS(Properties) 0230 0231 enum class Layer : quint8 { 0232 GROUND, 0233 OBJECT, 0234 CHARACTER_LAYER, 0235 GAMEMASTER_LAYER, 0236 FOG, 0237 GRIDLAYER, 0238 0239 NONE 0240 }; 0241 NETWORK_EXPORT Q_ENUM_NS(Layer) 0242 0243 namespace settings 0244 { 0245 constexpr auto const* KEY_ROLISTEAM{"rolisteam"}; 0246 constexpr auto const* KEY_PREF_DIR{"rolisteam_%1/preferences"}; 0247 constexpr auto const* KEY_GEOMETRY{"geometry"}; 0248 constexpr auto const* KEY_WINDOW_STATE{"windowState"}; 0249 constexpr auto const* KEY_MAXIMIZED{"Maximized"}; 0250 constexpr auto const* KEY_MEDIA_TITLE{"show_media_title_in_tool_bar"}; 0251 constexpr auto const* KEY_ANTA_MINIMODE{"antamini"}; 0252 constexpr auto const* KEY_ANTA_FULLMODE{"antafull"}; 0253 constexpr auto const* KEY_ANTA_ARRAY{"antagonists"}; 0254 constexpr auto const* KEY_ANTA_COL{"col"}; 0255 } 0256 0257 namespace keys 0258 { 0259 constexpr char const* KEY_AVATAR{"avatar"}; 0260 constexpr char const* KEY_BGCOLOR{"bgcolor"}; 0261 constexpr char const* KEY_CHARACTERID{"characterId"}; 0262 constexpr char const* KEY_CHARACTERVISION{"charactervision"}; 0263 constexpr char const* KEY_COLLISION{"collision"}; 0264 constexpr char const* KEY_COLOR{"color"}; 0265 constexpr char const* KEY_DATA{"data"}; 0266 constexpr char const* KEY_GMID{"gamemasterId"}; 0267 constexpr char const* KEY_GRIDABOVE{"GridAbove"}; 0268 constexpr char const* KEY_GRIDCOLOR{"gridColor"}; 0269 constexpr char const* KEY_GRIDPATTERN{"gridPattern"}; 0270 constexpr char const* KEY_GRIDSCALE{"gridScale"}; 0271 constexpr char const* KEY_GRIDSIZE{"gridSize"}; 0272 constexpr char const* KEY_GRIDVISIBILITY{"GridVisibility"}; 0273 constexpr char const* KEY_ID{"id"}; 0274 constexpr char const* KEY_IMAGEDATA{"imageData"}; 0275 constexpr char const* KEY_INTERNAL{"internal"}; 0276 constexpr char const* KEY_ITEMS{"items"}; 0277 constexpr char const* KEY_LAYER{"layer"}; 0278 constexpr char const* KEY_LOCALID{"localId"}; 0279 constexpr char const* KEY_MARKDOWN{"markdown"}; 0280 constexpr char const* KEY_MODE{"mode"}; 0281 constexpr char const* KEY_NAME{"name"}; 0282 constexpr char const* KEY_OWNERID{"ownerId"}; 0283 constexpr char const* KEY_PATH{"path"}; 0284 constexpr char const* KEY_PERMISSION{"permission"}; 0285 constexpr char const* KEY_POSITION{"position"}; 0286 constexpr char const* KEY_QML{"qml"}; 0287 constexpr char const* KEY_RECT{"rect"}; 0288 constexpr char const* KEY_ROOTSECTION{"rootSection"}; 0289 constexpr char const* KEY_SAVEAS{"saveas"}; 0290 constexpr char const* KEY_SCALE{"scale"}; 0291 constexpr char const* KEY_SERIALIZED{"serializedData"}; 0292 constexpr char const* KEY_SIGHT{"sight"}; 0293 constexpr char const* KEY_STATE{"state"}; 0294 constexpr char const* KEY_TEXT{"text"}; 0295 constexpr char const* KEY_TOOL{"tool"}; 0296 constexpr char const* KEY_TYPE{"type"}; 0297 constexpr char const* KEY_UNIT{"unit"}; 0298 constexpr char const* KEY_URL{"URL"}; 0299 constexpr char const* KEY_UUID{"uuid"}; 0300 constexpr char const* KEY_VISIBILITY{"visibility"}; 0301 constexpr char const* KEY_ZINDEX{"zindex"}; 0302 } // namespace keys 0303 0304 namespace vmapkeys 0305 { 0306 constexpr char const* KEY_AVATAR{"avatar"}; 0307 constexpr char const* KEY_BORDERRECT{"borderRect"}; 0308 constexpr char const* KEY_BORDER{"border"}; 0309 constexpr char const* KEY_CHARACTER{"character"}; 0310 constexpr char const* KEY_CLOSED{"closed"}; 0311 constexpr char const* KEY_COLOR{"color"}; 0312 constexpr char const* KEY_COUNT{"count"}; 0313 constexpr char const* KEY_DATA{"data"}; 0314 constexpr char const* KEY_ENDPOINT{"endPoint"}; 0315 constexpr char const* KEY_FILLED{"filled"}; 0316 constexpr char const* KEY_FONT{"font"}; 0317 constexpr char const* KEY_HASAVATAR{"hasAvatar"}; 0318 constexpr char const* KEY_IMAGE{"img"}; 0319 constexpr char const* KEY_INITIALIZED{"initialized"}; 0320 constexpr char const* KEY_LAYER{"layer"}; 0321 constexpr char const* KEY_LOCKED{"locked"}; 0322 constexpr char const* KEY_MARKDOWN{"markdown"}; 0323 constexpr char const* KEY_NUMBER{"number"}; 0324 constexpr char const* KEY_OPACITY{"opacity"}; 0325 constexpr char const* KEY_ORIGINPOINT{"originPoint"}; 0326 constexpr char const* KEY_PATH{"path"}; 0327 constexpr char const* KEY_PENLINE{"penLine"}; 0328 constexpr char const* KEY_PENWIDTH{"penWidth"}; 0329 constexpr char const* KEY_PIXMAP{"pixmap"}; 0330 constexpr char const* KEY_PLAYABLECHARACTER{"playablecharacter"}; 0331 constexpr char const* KEY_POINTCOUNT{"pointCount"}; 0332 constexpr char const* KEY_POINTS{"points"}; 0333 constexpr char const* KEY_POS{"position"}; 0334 constexpr char const* KEY_RADIUS{"radius"}; 0335 constexpr char const* KEY_RATIO{"ratio"}; 0336 constexpr char const* KEY_RECT{"rect"}; 0337 constexpr char const* KEY_ROTATION{"rotation"}; 0338 constexpr char const* KEY_RX{"rx"}; 0339 constexpr char const* KEY_RY{"ry"}; 0340 constexpr char const* KEY_SELECTED{"selected"}; 0341 constexpr char const* KEY_SIDE{"side"}; 0342 constexpr char const* KEY_STARTPOINT{"startPoint"}; 0343 constexpr char const* KEY_STATECOLOR{"stateColor"}; 0344 constexpr char const* KEY_TEXTPOS{"textPos"}; 0345 constexpr char const* KEY_TEXTRECT{"textRect"}; 0346 constexpr char const* KEY_TEXT{"text"}; 0347 constexpr char const* KEY_TOOL{"tool"}; 0348 constexpr char const* KEY_ITEMTYPE{"itemtype"}; 0349 constexpr char const* KEY_UUID{"uuid"}; 0350 constexpr char const* KEY_VISIBLE{"visible"}; 0351 constexpr char const* KEY_PARENTID{"parentid"}; 0352 0353 constexpr char const* KEY_CHARAC_NPC{"chac_npc"}; 0354 constexpr char const* KEY_CHARAC_ID{"chac_uuid"}; 0355 constexpr char const* KEY_CHARAC_NAME{"chac_name"}; 0356 constexpr char const* KEY_CHARAC_AVATAR{"chac_avatar"}; 0357 constexpr char const* KEY_CHARAC_HPCURRENT{"chac_hpcurrent"}; 0358 constexpr char const* KEY_CHARAC_HPMAX{"chac_hpmax"}; 0359 constexpr char const* KEY_CHARAC_HPMIN{"chac_hpmin"}; 0360 constexpr char const* KEY_CHARAC_INITSCORE{"chac_initscore"}; 0361 constexpr char const* KEY_CHARAC_DISTANCEPERTURN{"chac_distanceperturn"}; 0362 constexpr char const* KEY_CHARAC_STATEID{"chac_stateid"}; 0363 constexpr char const* KEY_CHARAC_LIFECOLOR{"chac_lifecolor"}; 0364 constexpr char const* KEY_CHARAC_INITCMD{"chac_init_command"}; 0365 constexpr char const* KEY_CHARAC_HASINIT{"chac_has_init"}; 0366 0367 constexpr char const* KEY_VIS_POS{"vis_position"}; 0368 constexpr char const* KEY_VIS_ANGLE{"vis_angle"}; 0369 constexpr char const* KEY_VIS_SHAPE{"vis_shape"}; 0370 constexpr char const* KEY_VIS_VISIBLE{"vis_visible"}; 0371 constexpr char const* KEY_VIS_RADIUS{"vis_radiusv"}; 0372 constexpr char const* KEY_VIS_ROTATION{"vis_rotation"}; 0373 0374 constexpr char const* KEY_SIGHT_X{"x"}; 0375 constexpr char const* KEY_SIGHT_Y{"y"}; 0376 constexpr char const* KEY_SIGHT_W{"w"}; 0377 constexpr char const* KEY_SIGHT_H{"h"}; 0378 constexpr char const* KEY_SIGHT_POSX{"posx"}; 0379 constexpr char const* KEY_SIGHT_POSY{"posy"}; 0380 constexpr char const* KEY_SIGHT_PATH{"path"}; 0381 0382 } // namespace vmapkeys 0383 0384 namespace extentions 0385 { 0386 constexpr char const* EXT_TOKEN{".rtok"}; 0387 constexpr char const* EXT_MAP{".vmap"}; 0388 constexpr char const* EXT_TEXT{".txt"}; 0389 constexpr char const* EXT_SHEET{".rcs"}; 0390 constexpr char const* EXT_MINDMAP{".rmap"}; 0391 constexpr char const* EXT_PLAYLIST{".m3u"}; 0392 constexpr char const* EXT_SHAREDNOTE{".rsn"}; 0393 constexpr char const* EXT_PDF{".pdf"}; 0394 constexpr char const* EXT_WEBVIEW{".rweb"}; 0395 0396 constexpr char const* EXT_HTML{".html"}; 0397 constexpr char const* EXT_XHTML{".xhtml"}; 0398 constexpr char const* EXT_HTM{".htm"}; 0399 0400 constexpr char const* EXT_MARKDOWN{".md"}; 0401 constexpr char const* EXT_OPEN_DOCUMENT{".odt"}; 0402 0403 constexpr char const* EXT_IMG_JPG{".jpg"}; 0404 constexpr char const* EXT_IMG_JPEG{".jpeg"}; 0405 constexpr char const* EXT_IMG_PNG{".png"}; 0406 constexpr char const* EXT_IMG_BMP{".bmp"}; 0407 constexpr char const* EXT_IMG_SVG{".svg"}; 0408 constexpr char const* EXT_IMG_GIF{".gif"}; 0409 } // namespace extentions 0410 0411 namespace updater 0412 { 0413 constexpr auto key_char_property_hp{"CharacterHp"}; 0414 constexpr auto key_char_property_maxhp{"CharacterMaxHp"}; 0415 constexpr auto key_char_property_minhp{"CharacterMinHp"}; 0416 constexpr auto key_char_property_dist{"CharacterDistPerTurn"}; 0417 constexpr auto key_char_property_state_id{"CharacterStateId"}; 0418 constexpr auto key_char_property_life_color{"CharacterLifeColor"}; 0419 constexpr auto key_char_property_init_cmd{"CharacterInitCmd"}; 0420 constexpr auto key_char_property_has_init{"CharacterHasInit"}; 0421 constexpr auto key_char_property_init_score{"CharacterInitScore"}; 0422 } // namespace updater 0423 0424 namespace JsonKey 0425 { 0426 constexpr char const* JSON_NAME{"name"}; 0427 constexpr char const* JSON_MEDIAS{"medias"}; 0428 constexpr char const* JSON_CURRENT_CHAPTER{"chapter"}; 0429 constexpr char const* JSON_MEDIA_PATH{"path"}; 0430 constexpr char const* JSON_MEDIA_CREATIONTIME{"ctime"}; 0431 constexpr char const* JSON_MEDIA_ID{"uuid"}; 0432 0433 constexpr char const* JSON_NPC_ID{"uuid"}; 0434 constexpr char const* JSON_NPC_NAME{"name"}; 0435 constexpr char const* JSON_NPC_DESCRIPTION{"description"}; 0436 constexpr char const* JSON_NPC_INITCOMMAND{"initCmd"}; 0437 constexpr char const* JSON_NPC_INITVALUE{"initVal"}; 0438 constexpr char const* JSON_NPC_COLOR{"color"}; 0439 constexpr char const* JSON_NPC_HP{"hp"}; 0440 constexpr char const* JSON_NPC_MAXHP{"maxhp"}; 0441 constexpr char const* JSON_NPC_MINHP{"minhp"}; 0442 constexpr char const* JSON_NPC_DIST_PER_TURN{"distperturn"}; 0443 constexpr char const* JSON_NPC_STATEID{"stateid"}; 0444 constexpr char const* JSON_NPC_LIFECOLOR{"lifecolor"}; 0445 constexpr char const* JSON_NPC_AVATAR{"avataruri"}; 0446 constexpr char const* JSON_NPC_TAGS{"tags"}; 0447 constexpr char const* JSON_NPC_TOKEN{"tokenpath"}; 0448 0449 // action 0450 constexpr char const* JSON_NPC_ACTIONS{"actions"}; 0451 constexpr char const* JSON_NPC_ACTION_COMMAND{"command"}; 0452 constexpr char const* JSON_NPC_ACTION_NAME{"name"}; 0453 0454 // property 0455 constexpr char const* JSON_NPC_PROPERTIES{"properties"}; 0456 constexpr char const* JSON_NPC_PROPERTY_NAME{"name"}; 0457 constexpr char const* JSON_NPC_PROPERTY_VALUE{"value"}; 0458 0459 // shape 0460 constexpr char const* JSON_NPC_SHAPES{"shapes"}; 0461 constexpr char const* JSON_NPC_SHAPE_NAME{"name"}; 0462 constexpr char const* JSON_NPC_SHAPE_DATAIMG{"dataImg"}; 0463 0464 constexpr char const* JSON_TOKEN_SIZE{"size"}; 0465 } // namespace JsonKey 0466 0467 namespace jsonNetwork 0468 { 0469 constexpr char const* JSON_TYPE{"type"}; 0470 constexpr char const* JSON_TYPE_CHANNEL{"channel"}; 0471 constexpr char const* JSON_TYPE_CLIENT{"client"}; 0472 0473 constexpr char const* JSON_NAME{"name"}; 0474 constexpr char const* JSON_GM{"type"}; 0475 constexpr char const* JSON_ADMIN{"admin"}; 0476 constexpr char const* JSON_ID{"id"}; 0477 constexpr char const* JSON_IDPLAYER{"idPlayer"}; 0478 0479 constexpr char const* JSON_PASSWORD{"password"}; 0480 constexpr char const* JSON_DESCRIPTION{"description"}; 0481 constexpr char const* JSON_USERLISTED{"usersListed"}; 0482 constexpr char const* JSON_MEMORYSIZE{"memorySize"}; 0483 constexpr char const* JSON_LOCKED{"locked"}; 0484 constexpr char const* JSON_CHANNELS{"channels"}; 0485 constexpr char const* JSON_CHILDREN{"children"}; 0486 } // namespace jsonNetwork 0487 0488 namespace jsonDice 0489 { 0490 constexpr char const* JSON_COMMAND{"command"}; 0491 constexpr char const* JSON_ERROR{"error"}; 0492 constexpr char const* JSON_SCALAR{"scalar"}; 0493 constexpr char const* JSON_INSTRUCTION{"instructions"}; 0494 constexpr char const* JSON_DICE_FACE{"face"}; 0495 constexpr char const* JSON_DICE_VALUE{"value"}; 0496 } // namespace jsonDice 0497 namespace DiceAlias 0498 { 0499 // Dice Alias 0500 constexpr char const* k_dice_pattern{"pattern"}; 0501 constexpr char const* k_dice_command{"command"}; 0502 constexpr char const* k_dice_comment{"comment"}; 0503 constexpr char const* k_dice_enabled{"enable"}; 0504 constexpr char const* k_dice_replacement{"replace"}; 0505 } // namespace DiceAlias 0506 0507 namespace jsonctrl 0508 { 0509 namespace base 0510 { 0511 constexpr char const* JSON_CONTENT_TYPE{"contentType"}; 0512 constexpr char const* JSON_UUID{"uuid"}; 0513 constexpr char const* JSON_PATH{"path"}; 0514 constexpr char const* JSON_NAME{"name"}; 0515 constexpr char const* JSON_OWNERID{"ownerid"}; 0516 } // namespace base 0517 0518 namespace sheet 0519 { 0520 constexpr char const* JSON_QML_CONTENT{"qml"}; 0521 constexpr char const* JSON_CHARACTER_CONTENT{"characters"}; 0522 constexpr char const* JSON_IMAGES_CONTENT{"background"}; 0523 } // namespace sheet 0524 0525 namespace vmap 0526 { 0527 constexpr auto JSON_NPC_NAME_VISIBLE("NpcNameVisible"); 0528 constexpr auto JSON_PC_NAME_VISIBLE("PcNameVisible"); 0529 constexpr auto JSON_NPC_NUMBER_VISIBLE("NpcNumberVisible"); 0530 constexpr auto JSON_HEALTH_BAR_VISIBLE("HealthBarVisible"); 0531 constexpr auto JSON_INIT_SCORE_VISIBLE("InitScoreVisible"); 0532 constexpr auto JSON_STATE_LABEL_VISIBLE("StateLabelVisible"); 0533 constexpr auto JSON_COLLISION("Collision"); 0534 constexpr auto JSON_CHARACTER_VISION("CharacterVision"); 0535 constexpr auto JSON_GRID_COLOR("GridColor"); 0536 constexpr auto JSON_GRID_SCALE("GridScale"); 0537 constexpr auto JSON_GRID_SIZE("GridSize"); 0538 constexpr auto JSON_GRID_VISIBLE("GridVisible"); 0539 constexpr auto JSON_GRID_ABOVE("GridAbove"); 0540 constexpr auto JSON_SCALE_UNIT("ScaleUnit"); 0541 constexpr auto JSON_NPC_NAME("NpcName"); 0542 constexpr auto JSON_PERMISSION("Permission"); 0543 constexpr auto JSON_GRID_PATTERN("GridPattern"); 0544 constexpr auto JSON_VISIBILITY("Visibility"); 0545 constexpr auto JSON_BACKGROUND_COLOR("BgColor"); 0546 constexpr auto JSON_TOOL_COLOR("ToolColor"); 0547 constexpr auto JSON_PEN_SIZE("PenSize"); 0548 constexpr auto JSON_NPC_NUMBER("NpcNumber"); 0549 constexpr auto JSON_ZOOM_LEVEL("ZoomLevel"); 0550 constexpr auto JSON_Layer("Layer"); 0551 constexpr auto JSON_OPACITY("Opacity"); 0552 constexpr auto JSON_VISUAL_RECT_X("VisualRectX"); 0553 constexpr auto JSON_VISUAL_RECT_Y("VisualRectY"); 0554 constexpr auto JSON_VISUAL_RECT_W("VisualRectW"); 0555 constexpr auto JSON_VISUAL_RECT_H("VisualRectH"); 0556 constexpr auto JSON_IDLE("Idle"); 0557 constexpr auto JSON_Z_INDEX("ZIndex"); 0558 constexpr auto JSON_SIGHT_CTRL("SightCtrl"); 0559 constexpr auto JSON_ITEMS("ITEMS"); 0560 0561 namespace vitem 0562 { 0563 constexpr auto JSON_ITEM_TYPE("ItemType"); 0564 constexpr auto JSON_SELECTED("Selected"); 0565 constexpr auto JSON_VISIBLE("Visible"); 0566 constexpr auto JSON_OPACITY("Opacity"); 0567 constexpr auto JSON_ROTATION("Rotation"); 0568 constexpr auto JSON_LAYER("Layer"); 0569 constexpr auto JSON_POSITION_X("PositionX"); 0570 constexpr auto JSON_POSITION_Y("PositionY"); 0571 constexpr auto JSON_UUID("Uuid"); 0572 constexpr auto JSON_COLOR("Color"); 0573 constexpr auto JSON_LOCKED("Locked"); 0574 constexpr auto JSON_TOOL("Tool"); 0575 constexpr auto JSON_INITIALIZED("Initialized"); 0576 } // namespace vitem 0577 0578 namespace sight 0579 { 0580 constexpr auto JSON_CHARACTER_SIHT("CharacterSight"); 0581 constexpr auto JSON_FOW_PATH("FowPath"); 0582 constexpr auto JSON_RECT_X("RectX"); 0583 constexpr auto JSON_RECT_Y("RectY"); 0584 constexpr auto JSON_RECT_W("RectW"); 0585 constexpr auto JSON_RECT_H("RectH"); 0586 constexpr auto JSON_CHARACTER_COUNT("CharacterCount"); 0587 constexpr auto JSON_SINGULARITIES("Singularities"); 0588 constexpr auto JSON_SING_POINTS("SingPoints"); 0589 constexpr auto JSON_SING_ADD("SingAdd"); 0590 } // namespace sight 0591 0592 namespace rect 0593 { 0594 constexpr auto JSON_RECT_X("RectX"); 0595 constexpr auto JSON_RECT_Y("RectY"); 0596 constexpr auto JSON_RECT_W("RectW"); 0597 constexpr auto JSON_RECT_H("RectH"); 0598 constexpr auto JSON_FILLED("Filled"); 0599 constexpr auto JSON_PEN_WIDTH("PenWidth"); 0600 } // namespace rect 0601 namespace ellipse 0602 { 0603 constexpr auto JSON_R_X("RX"); 0604 constexpr auto JSON_R_Y("RectY"); 0605 constexpr auto JSON_FILLED("Filled"); 0606 constexpr auto JSON_PEN_WIDTH("PenWidth"); 0607 } // namespace ellipse 0608 namespace image 0609 { 0610 constexpr auto JSON_PIXMAP("Pixmap"); 0611 constexpr auto JSON_DATA("Data"); 0612 constexpr auto JSON_RECT_X("RectX"); 0613 constexpr auto JSON_RECT_Y("RectY"); 0614 constexpr auto JSON_RECT_W("RectW"); 0615 constexpr auto JSON_RECT_H("RectH"); 0616 constexpr auto JSON_PATH("Path"); 0617 constexpr auto JSON_RATIO("Ratio"); 0618 } // namespace image 0619 namespace line 0620 { 0621 constexpr auto JSON_START_X("StartX"); 0622 constexpr auto JSON_START_Y("StartY"); 0623 constexpr auto JSON_END_X("EndX"); 0624 constexpr auto JSON_END_Y("EndY"); 0625 constexpr auto JSON_PEN_WIDTH("PenWidth"); 0626 } // namespace line 0627 0628 namespace path 0629 { 0630 constexpr auto JSON_POINT_X("x"); 0631 constexpr auto JSON_POINT_Y("y"); 0632 constexpr auto JSON_POINTS("Points"); 0633 constexpr auto JSON_FILLED("Filled"); 0634 constexpr auto JSON_CLOSED("Closed"); 0635 constexpr auto JSON_PEN_LINE("PenLine"); 0636 constexpr auto JSON_PEN_WIDTH("PenWidth"); 0637 } // namespace path 0638 0639 namespace text 0640 { 0641 constexpr auto JSON_TEXT("Text"); 0642 constexpr auto JSON_TEXT_RECT_X("TextRectX"); 0643 constexpr auto JSON_TEXT_RECT_Y("TextRectY"); 0644 constexpr auto JSON_TEXT_RECT_W("TextRectW"); 0645 constexpr auto JSON_TEXT_RECT_H("TextRectH"); 0646 constexpr auto JSON_BORDER_RECT_X("BorderRectX"); 0647 constexpr auto JSON_BORDER_RECT_Y("BorderRectY"); 0648 constexpr auto JSON_BORDER_RECT_W("BorderRectW"); 0649 constexpr auto JSON_BORDER_RECT_H("BorderRectH"); 0650 constexpr auto JSON_BORDER("Border"); 0651 constexpr auto JSON_FONT("Font"); 0652 constexpr auto JSON_PEN_WIDTH("PenWidth"); 0653 constexpr auto JSON_POS_X("PosX"); 0654 constexpr auto JSON_POS_Y("PosY"); 0655 } // namespace text 0656 0657 namespace character 0658 { 0659 constexpr auto JSON_SIDE("Side"); 0660 constexpr auto JSON_STATE_COLOR("StateColor"); 0661 constexpr auto JSON_NUMBER("Number"); 0662 constexpr auto JSON_TEXT_RECT_X("TextRectX"); 0663 constexpr auto JSON_TEXT_RECT_Y("TextRectY"); 0664 constexpr auto JSON_TEXT_RECT_W("TextRectW"); 0665 constexpr auto JSON_TEXT_RECT_H("TextRectH"); 0666 0667 constexpr auto JSON_FONT("Font"); 0668 constexpr auto JSON_RADIUS("Radius"); 0669 0670 constexpr auto JSON_VIS_POS_X("PosX"); 0671 constexpr auto JSON_VIS_POS_Y("PosY"); 0672 constexpr auto JSON_VIS_ANGLE("Angle"); 0673 constexpr auto JSON_VIS_SHAPE("Shape"); 0674 constexpr auto JSON_VIS_ROTATION("Rotation"); 0675 constexpr auto JSON_VIS_RADIUS("Radius"); 0676 constexpr auto JSON_VIS_VISIBLE("Radius"); 0677 constexpr auto JSON_CHARACTER("Character"); 0678 0679 constexpr auto JSON_CHAR_NPC("Npc"); 0680 constexpr auto JSON_CHAR_ID("Id"); 0681 constexpr auto JSON_CHAR_NAME("Name"); 0682 constexpr auto JSON_CHAR_AVATAR("Avatar"); 0683 constexpr auto JSON_CHAR_HEALT_CURRENT("HpCurrent"); 0684 constexpr auto JSON_CHAR_HEALT_MAX("HpMax"); 0685 constexpr auto JSON_CHAR_HEALT_MIN("HpMin"); 0686 constexpr auto JSON_CHAR_INIT_SCORE("InitScore"); 0687 constexpr auto JSON_CHAR_DISTANCE_TURN("DistanceTurn"); 0688 constexpr auto JSON_CHAR_STATE_ID("StateId"); 0689 constexpr auto JSON_CHAR_LIFE_COLOR("LifeColor"); 0690 constexpr auto JSON_CHAR_INIT_CMD("InitCmd"); 0691 constexpr auto JSON_CHAR_INIT_SCORE_DEFINED("InitScoreDefined"); 0692 } // namespace character 0693 } // namespace vmap 0694 0695 namespace Mindmap 0696 { 0697 constexpr char const* JSON_CTRL_DEFAULT_INDEX_STYLE{"defaultIndexStyle"}; 0698 constexpr char const* JSON_CTRL_SPACING{"spacing"}; 0699 constexpr char const* JSON_CTRL_LINK_LABEL_VISIBILITY{"linklabelvisibility"}; 0700 0701 constexpr char const* JSON_MINDITEM_ID{"id"}; 0702 constexpr char const* JSON_MINDITEM_TEXT{"text"}; 0703 constexpr char const* JSON_MINDITEM_VISIBLE{"visible"}; 0704 constexpr char const* JSON_MINDITEM_SELECTED{"selected"}; 0705 constexpr char const* JSON_MINDITEM_TYPE{"type"}; 0706 0707 constexpr char const* JSON_POSITIONED_POSITIONX{"x"}; 0708 constexpr char const* JSON_POSITIONED_POSITIONY{"y"}; 0709 constexpr char const* JSON_POSITIONED_CENTERX{"center.x"}; 0710 constexpr char const* JSON_POSITIONED_CENTERY{"center.y"}; 0711 constexpr char const* JSON_POSITIONED_WIDTH{"width"}; 0712 constexpr char const* JSON_POSITIONED_HEIGHT{"height"}; 0713 constexpr char const* JSON_POSITIONED_DRAGGED{"isDragged"}; 0714 constexpr char const* JSON_POSITIONED_OPEN{"open"}; 0715 constexpr char const* JSON_POSITIONED_LOCKED{"locked"}; 0716 constexpr char const* JSON_POSITIONED_MASS{"mass"}; 0717 0718 constexpr char const* JSON_NODE_IMAGE{"image"}; 0719 constexpr char const* JSON_NODE_STYLE{"styleindex"}; 0720 constexpr char const* JSON_NODE_DESC{"description"}; 0721 constexpr char const* JSON_NODE_TAGS{"tags"}; 0722 constexpr char const* JSON_NODES{"nodes"}; 0723 0724 constexpr char const* JSON_LINKS{"links"}; 0725 constexpr char const* JSON_LINK_IDSTART{"idStart"}; 0726 constexpr char const* JSON_LINK_IDEND{"idEnd"}; 0727 constexpr char const* JSON_LINK_DIRECTION{"direction"}; 0728 0729 constexpr char const* JSON_PACK_TITLE{"title"}; 0730 constexpr char const* JSON_PACK_MINMARGE{"minimumMargin"}; 0731 constexpr char const* JSON_PACK_INTERNAL_CHILDREN{"internalChildren"}; 0732 constexpr char const* JSON_PACK_PACKAGES{"packages"}; 0733 0734 constexpr char const* JSON_IMGS{"images"}; 0735 constexpr char const* JSON_IMG_ID{"id"}; 0736 constexpr char const* JSON_IMG_DATA{"data"}; 0737 constexpr char const* JSON_IMG_URL{"url"}; 0738 } // namespace Mindmap 0739 0740 namespace Audio 0741 { 0742 constexpr char const* JSON_AUDIO_VOLUME{"volume"}; 0743 constexpr char const* JSON_AUDIO_VISIBLE{"visible"}; 0744 constexpr char const* JSON_PLAYING_MODE{"playingMode"}; 0745 constexpr char const* JSON_AUDIO_URLS{"urls"}; 0746 } // namespace Audio 0747 } // namespace jsonctrl 0748 0749 namespace mimedata 0750 { 0751 constexpr char const* MIME_KEY_NPC_ID{"rolisteam/non-playable-character-uuid"}; 0752 // constexpr char const* MIME_KEY_IMAGE_DATA{"rolisteam/image-data"}; 0753 constexpr char const* MIME_KEY_DICE_ALIAS_DATA{"rolisteam/dice-command"}; 0754 constexpr char const* MIME_KEY_MEDIA_UUID{"rolisteam/media-uuid"}; 0755 constexpr char const* MIME_KEY_PERSON_DATA{"rolisteam/userlist-item"}; 0756 } // namespace mimedata 0757 0758 namespace preferences 0759 { 0760 constexpr char const* KEY_DIRECTORY_AP1{"directories_audio_player1"}; 0761 constexpr char const* KEY_DIRECTORY_AP2{"directories_audio_player2"}; 0762 constexpr char const* KEY_DIRECTORY_AP3{"directories_audio_player3"}; 0763 constexpr char const* KEY_OPEN_DIRECTORY{"default_open_directory"}; 0764 } // namespace preferences 0765 0766 namespace person 0767 { // properties names of player and character 0768 constexpr auto name{"name"}; 0769 constexpr auto avatar{"avatar"}; 0770 constexpr auto color{"color"}; 0771 constexpr auto healthPoints{"healthPoints"}; 0772 constexpr auto maxHP{"maxHP"}; 0773 constexpr auto minHP{"minHP"}; 0774 constexpr auto initiative{"initiative"}; 0775 constexpr auto isNpc{"isNpc"}; 0776 constexpr auto distancePerTurn{"distancePerTurn"}; 0777 constexpr auto stateId{"stateId"}; 0778 constexpr auto lifeColor{"lifeColor"}; 0779 constexpr auto initCommand{"initCommand"}; 0780 constexpr auto hasInitiative{"hasInitiative"}; 0781 } // namespace person 0782 0783 namespace i18n 0784 { 0785 constexpr auto KEY_PATH{"path"}; 0786 constexpr auto KEY_CODE{"code"}; 0787 constexpr auto KEY_COMMONNAME{"commonName"}; 0788 constexpr auto KEY_LANGNAME{"langname"}; 0789 } 0790 0791 } // namespace Core 0792 0793 #endif // MEDIATYPE_H