summaryrefslogtreecommitdiff
path: root/data
AgeCommit message (Collapse)AuthorFilesLines
2025-04-28GUI: Added skin for the emote slots in the EmotePopupThorbjørn Lindeijer2-0/+12
Allows more flexible customization as needed by Jewelry theme.
2025-04-28GUI: Use theme icons for offline/online player indicatorsThorbjørn Lindeijer2-0/+6
Instead of loading images directly, which is less flexible. In Jewelry theme, these icons are embedded in the window.png image.
2025-04-26GUI: Added support for explicit outline color per palette entryThorbjørn Lindeijer2-229/+78
This enables customized outlines for each text color as well as adding outlines for specific palettes, as done by the Jewelry theme. Merged PARTY_CHAT_TAB and PARTY_SOCIAL_TAB into just PARTY_TAB since we should probably be using the same color there anyway. Split off WHISPER_TAB as separate color from WHISPER.
2025-04-25GUI: Added support for multiple color palettes to ThemeThorbjørn Lindeijer2-138/+443
Each Skin can point to a different palette, which can be used to tweak text colors where necessary. For now there is no generic solution for this, instead a number of locations have been adjusted to take the palette into account: * ChatWindow sets its palette on the BrowserBox used in its tabs. * Popup sets its palette on child widgets when they are added (covering BrowserBox, Label and TextBox). * ItemPopup now uses its palette when looking up colors. The BrowserBox now retrieves its numbered text colors from the theme. Also added OLDCHAT, AWAYCHAT and GLOBAL theme colors, with ##g, ##o and ##a to choose these colors respectively. Fixed ImageRect move constructor. TextPreview class was cleaned up from unused functionality. Being name colors are no longer different between the name shown on the being and the name shown in the SpeechDialog.
2025-04-25Introduced theme dropdown in interface setupThorbjørn Lindeijer2-4/+1
* Added Theme dropdown to Interface setup * Added CARET theme color * Fixed issue with logging errors in `check` function in `theme.cpp` * Fixed XML::Children::Iterator to iterate only element nodes * Changed default theme to "jewelry" Changing the theme (or font size) shows a dialog that points out a restart is required to apply these changes. This is necessary at the moment because many things, like default or minimum window sizes, are only calculated once.
2025-04-25GUI: Added support for hiding the scroll area buttonsThorbjørn Lindeijer1-1/+1
And made the Jewelry theme hide those buttons.
2025-04-25GUI: Added support for fixed-size scrollarea markersThorbjørn Lindeijer1-16/+16
Due to getVerticalMarkerDimension and getHorizontalMarkerDimension not being virtual, this unfortunately required copying a lot of code from Guichan to make sure it calls our versions of these functions. Also addressed a small issue where gcn::ScrollArea::checkPolicies was not taking the frame size of the content into account.
2025-04-25Jewelry: Fixed sticky button positionThorbjørn Lindeijer1-3/+3
Used "spacing" to store the additional space between the sticky button and the edge of the window (or the close button). Adjusted Popup and ToolWindow skins by one pixel to make the sticky button align the same way as for the Window skin.
2025-04-25GUI: Added support for defining named icons to the themeThorbjørn Lindeijer2-0/+22
Now we can define icon names for each equipment box and then look up the icon image through the theme, enabling some shared control over equipment slot icons between the game data and GUI theme. The icon for an equipment slot is also no longer rendered when the slot has an item in it. Removed the needless storing of equipment box positions and images in the EquipmentWindow, because this information is readily available from the InventoryHandler and the images are already loaded by the Theme.
2025-04-25GUI: Allow theme to skin item slots and equipment boxesThorbjørn Lindeijer2-5/+36
* Added EquipmentBox and ItemSlot skin types. * Allowed rectangles drawn by the theme to be not filled. * Added width/height attributes to skin element since we needed a way to specify the size of the item slots and equipment boxes.
2025-04-25GUI: Allow customizing the SkinType used by a WindowThorbjørn Lindeijer2-3/+16
Now different windows can use different skin types. This also introduces a new ToolWindow skin type, which is generally a window without title bar nor close button. Customized windows are: * Chat -> Popup skin * MiniMap -> Popup skin * ShortcutWindow (items and emotes) -> ToolWindow skin Even though the MiniMap now appears as a Popup, it does have a title, so appropriate attributes have been added to this skin type.
2025-04-25Added the Jewelry themeThorbjørn Lindeijer5-0/+435
This theme was created by Francesco Miglietta in 2012-2013 for ManaPlus and is hereby ported to the new XML theme definition supported by the Mana client. A few things are still missing: * Use of special window skins for some windows (minimap, chat, shortcuts) * Control of text format in chat window and popups * Theming the equipment box icons * Support for fixed-size scroll bar handles * Not all colors set by the theme are supported yet There is also still no way for the user to choose the theme in the Setup dialog. For now, the theme can be enabled by manually editing the config file to contain: <option name="theme" value="jewelry"/>
2025-04-02General code cleanupsThorbjørn Lindeijer1-0/+25
* Removed some unused includes and forward declarations. * Use std::unique_ptr to automate cleanup. * Use TextRenderer::renderText in BrowserBox to avoid code duplication. * Removed unused STATE_NORMAL from StateFlags. * Small layout fix in ServerDialog. * Reduced rewrapping delay in BrowserBox to 33ms and disabled it entirely when there are no more than 1000 lines to rewrap. The rewrapping is usually fast enough.
2025-04-01GUI: Made CheckBox, RadioButton and Slider more customizableThorbjørn Lindeijer2-14/+14
Added handling of padding and text format and added new "spacing" skin variable which is used for the space between the label and the control in case of CheckBox and RadioButton. Small tweaks to UI layout in various places.
2025-03-31GUI: Support customizing widget text format through themeThorbjørn Lindeijer1-4/+2
The following widgets now support setting the font, text color, outline color and shadow color through the theme: * Button * Tab * Window (title) * ProgressBar The text format can be specified differently per skin state.
2025-03-31GUI: De-hardcode the window title offsetsThorbjørn Lindeijer1-1/+1
2025-03-24Added fill mode parameter to ImageRectThorbjørn Lindeijer1-7/+7
ImageRect now stretches the sides and center images by default because this is more efficient these days. FilMode::Repeat can be specified when repetition is desired. Added 'fill' attribute to allow the fill mode to be specified for the GUI theme images.
2025-03-24Expanded GUI theming capabilitiesThorbjørn Lindeijer1-11/+34
* Moved previously hardcoded values for frame size, padding and title bar height to the Skin. * Added support for rendering colored rectangles (used for scroll bar background). * Scroll bar width is now determined by its skin. * Added separate skins for horizontal and vertical scroll bars and horizontal and vertical scroll markers and added a skin for the shortcut box. * Added support for hovered state on window close button.
2025-03-24Define the GUI theme in XMLThorbjørn Lindeijer4-86/+234
Now all images used by the various UI widgets are defined in a `theme.xml`, removing hardcoded requirements on the size of images, borders and sub-images and their locations. The `colors.xml` file was merged into this new file as well. The `<img>` element defines either a plain image, or a 9-scale that is automatically rendered at the size of the widget when any of the `left`, `right`, `top` or `bottom` attributes are given. The `x`, `y`, `width` and `height` attributes determine the sub-rectangle within the image referenced by `src`. `x` and `y` default to 0 and `width` and `height` default to the imge size. The `<state>` element defines in which state its images are used by setting its `selected`, `disabled`, `hovered` or `focused` attributes to either `true` or `false`. Only the first matching state is rendered. The `Text` and `SpeechBubble` classes now use the same skin to draw the bubble, as well as using a newly introduced `BUBBLE_TEXT` color from the theme palette.
2025-03-07Renamed specials to abilitiesThorbjørn Lindeijer1-0/+0
To match mana/manaserv@9ff69160ea1c3c64ea7012cd70a3b50ff4373264.
2024-09-02Added a hand mouse cursor, used when hovering linksThorbjørn Lindeijer1-0/+0
InputEvent::mIsConsumed is used to tell the Window it should not change the mouse cursor as well. This change also adds a closed hand mouse cursor, though this is unused for now (might be useful when dragging stuff around). The new cursors are by meway.
2024-08-31Apply a margin to the text in the help windowThorbjørn Lindeijer6-223/+230
And removed the manual space character at the start of each line...
2024-08-31CMake: Make the data files show up in the IDEThorbjørn Lindeijer1-0/+18
Using a custom target which should otherwise not affect the build.
2024-08-04Merged INSTALL with README.md and README.cmakeThorbjørn Lindeijer1-1/+1
2024-08-04Updated some URLsThorbjørn Lindeijer1-1/+1
2024-04-20CMake: Use cmake-format to make the files more pleasant to readThorbjørn Lindeijer1-9/+2
More consistent formatting and no longer everything in uppercase, yay!
2024-04-17macOS: Create an app bundleThorbjørn Lindeijer1-1/+1
Also enable using `cpack -G DragNDrop` to create a DMG to easily drag Mana into the Applications folder. The DMG is also available as a CI artifact. The minimum deployment target has been set to 10.15, as required due to usage of std::filesystem::create_directories.
2024-04-08CMake: Use install(DIRECTORY ...) to install data filesThorbjørn Lindeijer10-122/+9
Beats using a CMakeLists.txt in each directory and fixes a few missed files (like music and equipment slot icons).
2024-03-02Updated mouse cursors to latest versionThorbjørn Lindeijer1-0/+0
The new cursor types are not used yet for now.
2024-02-21Adjusted icon and desktop file names and added metainfoThorbjørn Lindeijer3-46/+39
2012-04-02Merge branch '0.6'Thorbjørn Lindeijer2-1/+14
2012-04-02Fixed problems with using the last emotev0.6.1Thorbjørn Lindeijer1-0/+1
The tmwa/BeingHandler was adjusting the effect id rather than the emote id, causing it to not find the last emote (and the rest of the emotes only worked correctly because the effect ids were consecutive in the same order as the emote ids). Furthermore, the EmoteShortcutContainer refused to draw the icon for the last emote due to an off-by-one error in dealing with the 1-adjusted emote ids used by the EmoteShortcut class. Also cleaned up some old remains of a player ignore strategy that used to use the two balloon emotes (this had been their original purpose). Reviewed-by: Erik Schilling
2012-04-02Bumped version and updated news in preparation of 0.6.1 releaseThorbjørn Lindeijer2-1/+13
2012-02-18Added notification sound on receiving whisperThorbjørn Lindeijer4-0/+7
One of the sound channels is reserved for notification sounds, of which the volume can be configured separately. Currently, the only notification sound that is played is for receiving whispers. That can be extended later. The newmessage.ogg sound used currently is the one for receiving a message with the Psi instant messenger. Parts of this patch are based on the new message notification in ManaPlus. Reviewed-by: Erik Schilling
2012-02-12Final updates to NEWS file and help headers for 0.6 releasev0.6.0Thorbjørn Lindeijer2-3/+5
Reviewed-by: Yohann Ferreira
2012-02-11Fixed issues with the help texts and small NEWS file updatesThorbjørn Lindeijer6-120/+74
* Changes were made to the way BrowserBox does colors that the help files were not adapted to. For example, there is no more ##P for choosing the previous color and applying a color changes it persistently rather than returning to default text color after each line wrap. Rather than changing the behavior of BrowserBox back I've just adapted the help files. * Set a monospace font on the Help window because this was originally the case and the text still relies on that for its layout. * zlib and CSV support was already cherry-picked into 0.5.1 so it is removed from the 0.6.0 changelog. Reviewed-by: Erik Schilling
2012-02-09Updated help to upcoming releaseErik Schilling2-1/+34
TODO: Update the date when actually releasing. Reviewed-by: Bertram.
2012-01-20Fixed mouse cursor offset againThorbjørn Lindeijer1-0/+0
The pointer was in the wrong place after the positioning fixes done in commit dc0097631ff092660e2249d7001ec339a090698d. Now it is restored to where it was before, but keeping the relative offset changes from that commit.
2011-11-13Added background support to the equipment boxes.Yohann Ferreira10-0/+0
The background images are auto-centered. Also, for Manaserv, a new background parameter has been added in the box node of the equip.xml file to specify the background image. Note that the filename is relative to the gui theme folder. Reviewed-by: Thorbjorn Lindeijer Resolves: TMW-Mantis #769.
2011-09-13Merge github.com:mana/manaYohann Ferreira2-10/+7
2011-09-11Merge branch '0.5'Thorbjørn Lindeijer2-10/+7
Conflicts: CMakeLists.txt src/map.cpp src/winver.h
2011-09-11Bumped version to 0.5.3 and updated the NEWS fileThorbjørn Lindeijer2-10/+7
2011-08-11Added true arrows graphics to tab area buttons.Yohann Ferreira3-0/+2
2011-08-11Added icons to the confirm and cancel button of the quit dialog.Yohann Ferreira3-0/+2
This a good example of use for the new graphics and button functionalities.
2011-08-11Reached the state where the menu bar is now using image buttons.Yohann Ferreira10-0/+8
I had to adapt a bit the images given by Poison ivy to do that.
2011-08-11Added the setup button icon and optimized the image size.Yohann Ferreira2-0/+0
2011-08-11Changed the Social button to an image one.Yohann Ferreira2-0/+1
I also made the client able to keep the old behaviour, and i changed the button api to not require the icon frames size as it could easily guess them.
2011-05-24Fixed mouse cursor offsetsAngelo Castellani1-0/+0
The cursor hopped around too much when mousing over stuff. Cursors were off center by + 5x3 pixels. Signed-off-by: Jared Adams <jaxad0127@gmail.com>
2011-05-22Install the monospace font, so mana can be started from outside the git cloneBen Longbons1-0/+1
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
2011-05-14Updating fonts to DejaVu 2.33 and adding licenseStefan Dombrowski3-0/+99
Source: http://dejavu-fonts.org/wiki/Main_Page Reviewed-by: Thorbjørn Lindeijer