mirror of
https://gitea.wildfiregames.com/0ad/0ad
synced 2026-06-19 14:53:56 -07:00
This PR introduces a new ScrollPanel component with the following capabilities: - Scroll Orientation Support: Allows scrolling in horizontal, vertical, or both directions, providing flexibility for different use cases. - Partial Object Rendering: Supports partial rendering of objects that are only partially visible within the scroll boundaries, improving visual accuracy and performance. - Boundary-Constrained Mouse Interaction: Handles mouse events strictly within the panel's visible boundaries, preventing interaction with objects outside the scrollable area. - Minimum Internal Size (min_width, min_height): Introduces support for virtual space management, allowing the panel to maintain a minimum internal size independent of its actual on-screen dimensions. Even when the panel is resized, this ensures that the content respects a defined virtual space (with min_width and min_height), effectively simulating a larger internal canvas. This is particularly useful for large content or scenarios where a more extensive scrollable area is required than the current visible panel.
70 lines
1.8 KiB
XML
70 lines
1.8 KiB
XML
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
|
|
|
|
<setup>
|
|
<!--
|
|
==========================================
|
|
- SCROLLBARS -
|
|
==========================================
|
|
-->
|
|
<scrollbar name="ModernScrollBar"
|
|
width = "15"
|
|
minimum_bar_size = "15"
|
|
maximum_bar_size = "15"
|
|
show_edge_buttons = "false"
|
|
sprite_back_vertical = "ModernScrollbarVerticalBackground"
|
|
sprite_slider_vertical = "ModernScrollbarVerticalSlider"
|
|
sprite_back_horizontal = "ModernScrollbarHorizontalBackground"
|
|
sprite_slider_horizontal = "ModernScrollbarHorizontalSlider"
|
|
/>
|
|
|
|
<!--
|
|
==========================================
|
|
- TOOLTIPS -
|
|
==========================================
|
|
-->
|
|
<tooltip name="default"
|
|
anchor="top"
|
|
buffer_zone="4"
|
|
delay="500"
|
|
font="sans-14"
|
|
maxwidth="300"
|
|
offset="16 32"
|
|
sprite="BlackBorderOnGray"
|
|
textcolor="255 255 255"
|
|
/>
|
|
|
|
<tooltip name="tooltipInstant"
|
|
anchor="top"
|
|
buffer_zone="4"
|
|
delay="0"
|
|
font="sans-14"
|
|
maxwidth="300"
|
|
offset="16 32"
|
|
sprite="BlackBorderOnGray"
|
|
textcolor="255 255 255"
|
|
/>
|
|
|
|
<!--
|
|
==========================================
|
|
- COLORS -
|
|
==========================================
|
|
-->
|
|
<color name="black">0 0 0</color>
|
|
<color name="white">255 255 255</color>
|
|
<color name="red">255 0 0</color>
|
|
<color name="blue">0 0 255</color>
|
|
<color name="yellow">255 255 0</color>
|
|
|
|
<color name="gold">237 227 167</color>
|
|
<color name="lightgray">243 242 240</color>
|
|
<color name="gray">143 142 140</color>
|
|
<color name="darkgray">43 42 40</color>
|
|
<color name="green">0 200 0</color>
|
|
<color name="mustard">191 191 2</color>
|
|
<color name="brown">159 98 24</color>
|
|
<color name="orange">255 165 0</color>
|
|
<color name="darkred">80 0 0</color>
|
|
<color name="darkbrown">30 20 10</color>
|
|
|
|
<color name="transparent">0 0 0 0</color>
|
|
</setup>
|