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