526 lines
26 KiB
XML
526 lines
26 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
|
|
The MIT License (MIT)
|
|
|
|
Copyright (c) 2015-2021 Lior Halphon
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
|
|
Author: Maximilian Mader
|
|
|
|
-->
|
|
<interface>
|
|
<requires lib="gtk+" version="3.22"/>
|
|
<!-- interface-license-type mit -->
|
|
<!-- interface-name SameBoy -->
|
|
<!-- interface-description SameBoy is an open source Game Boy (DMG) and Game Boy Color (CGB) emulator, written in portable C. -->
|
|
<!-- interface-copyright 2015-2021 Lior Halphon -->
|
|
<!-- interface-authors Maximilian Mader -->
|
|
<template class="VramViewerWindow">
|
|
<property name="can_focus">False</property>
|
|
<property name="title" translatable="yes">VRAM Viewer</property>
|
|
<property name="resizable">False</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">3</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkStackSwitcher">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">center</property>
|
|
<property name="margin_start">10</property>
|
|
<property name="margin_end">10</property>
|
|
<property name="stack">stack</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStack" id="stack">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="hhomogeneous">False</property>
|
|
<property name="vhomogeneous">False</property>
|
|
<property name="transition_type">slide-left-right</property>
|
|
<property name="interpolate_size">True</property>
|
|
<signal name="notify::visible-child" handler="visible_tab_changed" swapped="no"/>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_start">6</property>
|
|
<property name="margin_end">6</property>
|
|
<property name="margin_bottom">3</property>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="tileset_palette_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="active">0</property>
|
|
<property name="active_id">bg0</property>
|
|
<items>
|
|
<item id="bg0" translatable="yes">Background Palette 0</item>
|
|
<item id="bg1" translatable="yes">Background Palette 1</item>
|
|
<item id="bg2" translatable="yes">Background Palette 2</item>
|
|
<item id="bg3" translatable="yes">Background Palette 3</item>
|
|
<item id="bg4" translatable="yes">Background Palette 4</item>
|
|
<item id="bg5" translatable="yes">Background Palette 5</item>
|
|
<item id="bg6" translatable="yes">Background Palette 6</item>
|
|
<item id="bg7" translatable="yes">Background Palette 7</item>
|
|
<item translatable="yes"><separator></item>
|
|
<item id="obj0" translatable="yes">Object Palette 0</item>
|
|
<item id="obj1" translatable="yes">Object Palette 1</item>
|
|
<item id="obj2" translatable="yes">Object Palette 2</item>
|
|
<item id="obj3" translatable="yes">Object Palette 3</item>
|
|
<item id="obj4" translatable="yes">Object Palette 4</item>
|
|
<item id="obj5" translatable="yes">Object Palette 5</item>
|
|
<item id="obj6" translatable="yes">Object Palette 6</item>
|
|
<item id="obj7" translatable="yes">Object Palette 7</item>
|
|
</items>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="tileset_toggle_grid_button">
|
|
<property name="label" translatable="yes">Grid</property>
|
|
<property name="width_request">70</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<style>
|
|
<class name="vram-viewer-button-bar"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkDrawingArea" id="tileset_canvas">
|
|
<property name="width_request">512</property>
|
|
<property name="height_request">384</property>
|
|
<property name="visible">True</property>
|
|
<property name="app_paintable">True</property>
|
|
<property name="can_focus">False</property>
|
|
<signal name="draw" handler="draw_tileset_canvas" swapped="no"/>
|
|
<signal name="motion-notify-event" handler="tileset_canvas_motion" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">tileset</property>
|
|
<property name="title" translatable="yes">Tileset</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_start">6</property>
|
|
<property name="margin_end">6</property>
|
|
<property name="spacing">3</property>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="tilemap_palette_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="active">0</property>
|
|
<property name="active_id">auto</property>
|
|
<items>
|
|
<item id="auto" translatable="yes">Effective Palettes</item>
|
|
<item translatable="yes"><separator></item>
|
|
<item id="bg0" translatable="yes">Background Palette 0</item>
|
|
<item id="bg1" translatable="yes">Background Palette 1</item>
|
|
<item id="bg2" translatable="yes">Background Palette 2</item>
|
|
<item id="bg3" translatable="yes">Background Palette 3</item>
|
|
<item id="bg4" translatable="yes">Background Palette 4</item>
|
|
<item id="bg5" translatable="yes">Background Palette 5</item>
|
|
<item id="bg6" translatable="yes">Background Palette 6</item>
|
|
<item id="bg7" translatable="yes">Background Palette 7</item>
|
|
<item translatable="yes"><separator></item>
|
|
<item id="obj0" translatable="yes">Object Palette 0</item>
|
|
<item id="obj1" translatable="yes">Object Palette 1</item>
|
|
<item id="obj2" translatable="yes">Object Palette 2</item>
|
|
<item id="obj3" translatable="yes">Object Palette 3</item>
|
|
<item id="obj4" translatable="yes">Object Palette 4</item>
|
|
<item id="obj5" translatable="yes">Object Palette 5</item>
|
|
<item id="obj6" translatable="yes">Object Palette 6</item>
|
|
<item id="obj7" translatable="yes">Object Palette 7</item>
|
|
</items>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="tilemap_tilemap_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="active">0</property>
|
|
<property name="active_id">auto</property>
|
|
<items>
|
|
<item id="auto" translatable="yes">Effective Tilemap</item>
|
|
<item translatable="yes"><separator></item>
|
|
<item id="9800" translatable="yes">Tilemap at $9800</item>
|
|
<item id="9C00" translatable="yes">Tilemap at $9C00</item>
|
|
</items>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="tilemap_toggle_grid_button">
|
|
<property name="label" translatable="yes">Grid</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="margin_start">2</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="tilemap_toggle_scrolling_button">
|
|
<property name="label" translatable="yes">Scrolling</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="margin_start">2</property>
|
|
<property name="margin_end">2</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="tilemap_tileset_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="active">0</property>
|
|
<property name="active_id">auto</property>
|
|
<items>
|
|
<item id="auto" translatable="yes">Effective Tileset</item>
|
|
<item translatable="yes"><separator></item>
|
|
<item id="8800" translatable="yes">Tileset at $8800</item>
|
|
<item id="8000" translatable="yes">Tileset at $8000</item>
|
|
</items>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">4</property>
|
|
</packing>
|
|
</child>
|
|
<style>
|
|
<class name="vram-viewer-button-bar"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkDrawingArea" id="tilemap_canvas">
|
|
<property name="width_request">512</property>
|
|
<property name="height_request">512</property>
|
|
<property name="visible">True</property>
|
|
<property name="app_paintable">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="valign">start</property>
|
|
<property name="hexpand">False</property>
|
|
<property name="vexpand">False</property>
|
|
<signal name="draw" handler="draw_tilemap_canvas" swapped="no"/>
|
|
<signal name="motion-notify-event" handler="tilemap_canvas_motion" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">tilemap</property>
|
|
<property name="title" translatable="yes">Tilemap</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScrolledWindow">
|
|
<property name="width_request">512</property>
|
|
<property name="height_request">512</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="shadow_type">in</property>
|
|
<child>
|
|
<object class="GtkTreeView" id="sprites">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="headers_clickable">False</property>
|
|
<property name="enable_search">False</property>
|
|
<property name="show_expanders">False</property>
|
|
<child internal-child="selection">
|
|
<object class="GtkTreeSelection"/>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="min_width">32</property>
|
|
<child>
|
|
<object class="GtkCellRendererPixbuf"/>
|
|
<attributes>
|
|
<attribute name="pixbuf">0</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">X</property>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="text">1</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Y</property>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="text">2</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Tile</property>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="text">3</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Tile Addr.</property>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="text">4</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">OAM Addr.</property>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="text">5</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Attributes</property>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="text">6</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">sprites</property>
|
|
<property name="title" translatable="yes">Sprites</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeView" id="palettes">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="headers_visible">False</property>
|
|
<property name="headers_clickable">False</property>
|
|
<property name="enable_search">False</property>
|
|
<property name="show_expanders">False</property>
|
|
<style>
|
|
<class name="monospace"/>
|
|
</style>
|
|
<child internal-child="selection">
|
|
<object class="GtkTreeSelection"/>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Type</property>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="text">0</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Color 0</property>
|
|
<property name="expand">True</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="palette_cell_renderer_0"/>
|
|
<attributes>
|
|
<attribute name="text">1</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Color 1</property>
|
|
<property name="expand">True</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="palette_cell_renderer_1"/>
|
|
<attributes>
|
|
<attribute name="text">3</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Color 2</property>
|
|
<property name="expand">True</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="palette_cell_renderer_2"/>
|
|
<attributes>
|
|
<attribute name="text">5</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkTreeViewColumn">
|
|
<property name="title" translatable="yes">Color 3</property>
|
|
<property name="expand">True</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="palette_cell_renderer_3"/>
|
|
<attributes>
|
|
<attribute name="text">7</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="name">palettes</property>
|
|
<property name="title" translatable="yes">Palettes</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="status">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">5</property>
|
|
<property name="justify">center</property>
|
|
<property name="single_line_mode">True</property>
|
|
<property name="track_visited_links">False</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="titlebar">
|
|
<placeholder/>
|
|
</child>
|
|
</template>
|
|
</interface>
|