hashi-ruby 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/blank.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection-blank.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip-vertical.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-unchecked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/gnome-applications.css +429 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk-widgets.css +786 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk.css +113 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk.css.base +108 -0
- data/bin/assets/FlatColor/gtk-3.20/settings.ini +7 -0
- data/bin/assets/FlatColor/gtk-3.20/unity.css +68 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/button.css +58 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/calendar.css +32 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/cell-row.css +25 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/check-radio.css +164 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/chrome.css +16 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/color-chooser.css +114 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/column-header.css +52 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/combobox.css +26 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/csd.css +125 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/entry.css +40 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/header-bar.css +27 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/infobar.css +90 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/linked-buttons.css +524 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/menu.css +127 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/notebook.css +200 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/osd.css +203 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/progress-scale.css +365 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/scrollbar.css +116 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/selection-mode.css +109 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/separator.css +24 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/sidebar.css +43 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/spinbutton.css +102 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/spinner.css +120 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/switch.css +63 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/toolbar.css +39 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk-dark.css +10090 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk.css +10100 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/thumbnail.png +0 -0
- data/bin/assets/Matcha-dark-aliz/index.theme +12 -0
- data/bin/assets/didacticiel/1.jpg +0 -0
- data/bin/assets/didacticiel/2.jpg +0 -0
- data/bin/assets/didacticiel/3.jpg +0 -0
- data/bin/assets/didacticiel/4.jpg +0 -0
- data/bin/assets/didacticiel/5.jpg +0 -0
- data/bin/assets/didacticiel/6.jpg +0 -0
- data/bin/assets/didacticiel/7.jpg +0 -0
- data/bin/assets/didacticiel/8.jpg +0 -0
- data/bin/assets/map.png +0 -0
- data/bin/db/Difficulte.rb +9 -0
- data/bin/db/GestionBase.rb +334 -0
- data/bin/db/GrilleDb.rb +15 -0
- data/bin/db/Joue.rb +10 -0
- data/bin/db/Joueur.rb +9 -0
- data/bin/db/Migration.rb +70 -0
- data/bin/db/Mode.rb +9 -0
- data/bin/db/PhrasesAventure.rb +4 -0
- data/bin/db/TestBase.rb +144 -0
- data/bin/db/base.sqlite +0 -0
- data/bin/hashi +5 -0
- data/bin/src/Action.rb +46 -0
- data/bin/src/Aides.rb +41 -0
- data/bin/src/Case.rb +410 -0
- data/bin/src/Grille.rb +914 -0
- data/bin/src/Grilles/grilles_site.txt +30 -0
- data/bin/src/Grilles/grilles_site_difficile.txt +90 -0
- data/bin/src/Grilles/grilles_site_facile.txt +90 -0
- data/bin/src/Grilles/grilles_site_moyen.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser.txt +0 -0
- data/bin/src/Grilles/grilles_site_ser_difficile.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser_facile.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser_moyen.txt +90 -0
- data/bin/src/Hashi.rb +214 -0
- data/bin/src/Lien.rb +57 -0
- data/bin/src/Pile.rb +41 -0
- data/bin/src/Rakefile.rb +6 -0
- data/bin/src/SerGrille.rb +430 -0
- data/bin/src/Test.rb +24 -0
- data/bin/src/Test2.rb +135 -0
- data/bin/src/Utilitaire.rb +12 -0
- data/bin/src/testSerGrille.rb +21 -0
- data/bin/src/ui/AfficheurGrille.rb +385 -0
- data/bin/src/ui/AfficheurJeu.rb +209 -0
- data/bin/src/ui/AfficheurSelection.rb +38 -0
- data/bin/src/ui/Afrique.rb +38 -0
- data/bin/src/ui/AmeriqueNord.rb +38 -0
- data/bin/src/ui/AmeriqueSud.rb +38 -0
- data/bin/src/ui/Antarctique.rb +32 -0
- data/bin/src/ui/Asie.rb +38 -0
- data/bin/src/ui/Aventure.rb +132 -0
- data/bin/src/ui/Carte.rb +282 -0
- data/bin/src/ui/ChargementAventure.rb +61 -0
- data/bin/src/ui/Classement.rb +42 -0
- data/bin/src/ui/Connexion.rb +60 -0
- data/bin/src/ui/Didacticiel.rb +169 -0
- data/bin/src/ui/Etiquette.rb +24 -0
- data/bin/src/ui/Europe.rb +38 -0
- data/bin/src/ui/ListeClassement.rb +44 -0
- data/bin/src/ui/Menu.rb +74 -0
- data/bin/src/ui/Monde.rb +167 -0
- data/bin/src/ui/Oceanie.rb +38 -0
- data/bin/src/ui/SelecteurGrille.rb +58 -0
- data/bin/src/ui/SelectionDifficulte.rb +38 -0
- data/bin/src/ui/SelectionUtilisateur.rb +46 -0
- data/bin/src/ui/Timer.rb +29 -0
- metadata +479 -0
@@ -0,0 +1,385 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
|
3
|
+
# Widget Gtk permettant d'afficher une grille
|
4
|
+
class AfficheurGrille < Gtk::DrawingArea
|
5
|
+
|
6
|
+
# Deux systèmes de positions sont utilisés dans le code:
|
7
|
+
#
|
8
|
+
# => Les positions "virtuelles" (vX, vY) qui correspondent aux coordonnées
|
9
|
+
# des cases (par exemple 0,0 pour la case en haut à gauche)
|
10
|
+
#
|
11
|
+
# => Les positions "réelles" (x, y) qui correspondent aux positions sur
|
12
|
+
# la fenêtre (en pixels) et qui changent en fonction de la résolution de l'écran
|
13
|
+
#
|
14
|
+
# Les méthodes getX, getY, getVX, getVY sont là pour passer entre ces deux systèmes
|
15
|
+
|
16
|
+
# @grille => Grille à afficher
|
17
|
+
# @vWidth => Largeur virtuelle de la grille
|
18
|
+
# @vHeight => Hauteur virtuelle de la grille
|
19
|
+
# @ratio => Ratio de la résolution actuelle
|
20
|
+
# @vX => Nombre de pixel par coordonnée réelle horizontale
|
21
|
+
# @vY => Nombre de pixel par coordonnée réelle verticale
|
22
|
+
# @surbrillance => Liens à mettre en surbrillance
|
23
|
+
|
24
|
+
attr_accessor :cercleAide
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
# Constructeur
|
29
|
+
#
|
30
|
+
# === Parametres
|
31
|
+
#
|
32
|
+
# * +grille+ => Grille à afficher
|
33
|
+
# * +playable+ => Réagit au clics de souris ou non
|
34
|
+
# * +jeu+ => L'afficheur de jeu si la grille est utilisé en tant que jeu
|
35
|
+
def initialize(grille, playable, jeu)
|
36
|
+
super()
|
37
|
+
@playable = playable
|
38
|
+
@jeu = jeu
|
39
|
+
@surbrillance = []
|
40
|
+
@grille = grille
|
41
|
+
@vWidth = grille.largeur
|
42
|
+
@vHeight = grille.hauteur
|
43
|
+
@ratio = 1.0 * @vWidth / @vHeight
|
44
|
+
@cercleAide = nil
|
45
|
+
self.signal_connect("draw") { |widget, cr| draw(cr) }
|
46
|
+
self.signal_connect("button-press-event") { |widget, event| mouseClick(event); self.queue_draw() } if @playable
|
47
|
+
self.events = :all_events_mask
|
48
|
+
end
|
49
|
+
|
50
|
+
# Passage en état jouable
|
51
|
+
def setPlayable()
|
52
|
+
if !@playable
|
53
|
+
self.signal_connect("button-press-event") { |widget, event| mouseClick(event); self.queue_draw() }
|
54
|
+
@playable = true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Largeur écran en pixels
|
59
|
+
#
|
60
|
+
# === Retour
|
61
|
+
#
|
62
|
+
# Retourne le nombre de pixels en largeur affichés à l'écran
|
63
|
+
def width()
|
64
|
+
return self.allocation.width()
|
65
|
+
end
|
66
|
+
|
67
|
+
# Hauteur écran en pixels
|
68
|
+
#
|
69
|
+
# === Retour
|
70
|
+
#
|
71
|
+
# Retourne le nombre de pixels en hauteur affichés à l'écran
|
72
|
+
def height()
|
73
|
+
return self.allocation.height()
|
74
|
+
end
|
75
|
+
|
76
|
+
# Conversion vX en x
|
77
|
+
#
|
78
|
+
# === Paramètres
|
79
|
+
#
|
80
|
+
# * +vX+ => Position virtuelle en x à convertir
|
81
|
+
#
|
82
|
+
# === Retour
|
83
|
+
#
|
84
|
+
# Retourne la position réelle en x correspondante
|
85
|
+
def getX(vX)
|
86
|
+
if width / @ratio > height
|
87
|
+
return vX * @vY + (width - height * @ratio) / 2 + @vY/2
|
88
|
+
else
|
89
|
+
return vX * @vX + @vX/2
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
# Conversion vY en y
|
94
|
+
#
|
95
|
+
# === Paramètres
|
96
|
+
#
|
97
|
+
# * +vY+ => Position virtuelle en y à convertir
|
98
|
+
#
|
99
|
+
# === Retour
|
100
|
+
#
|
101
|
+
# Retourne la position réelle en y correspondante
|
102
|
+
def getY(vY)
|
103
|
+
if height * @ratio > width
|
104
|
+
return vY * @vX + (height - width / @ratio) / 2 + @vX/2
|
105
|
+
else
|
106
|
+
return vY * @vY + @vY/2
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
# Conversion x en vX
|
111
|
+
#
|
112
|
+
# === Paramètres
|
113
|
+
#
|
114
|
+
# * +x+ => Position réelle en x à convertir
|
115
|
+
#
|
116
|
+
# === Retour
|
117
|
+
#
|
118
|
+
# Retourne la position virtuelle en x correspondante
|
119
|
+
def getVX(x)
|
120
|
+
if width / @ratio > height
|
121
|
+
return (x - (width - height * @ratio) / 2 - @vY/2) / @vY
|
122
|
+
else
|
123
|
+
return (x - @vX/2) / @vX
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
# Conversion y en vY
|
128
|
+
#
|
129
|
+
# === Paramètres
|
130
|
+
#
|
131
|
+
# * +y+ => Position réelle en y à convertir
|
132
|
+
#
|
133
|
+
# === Retour
|
134
|
+
#
|
135
|
+
# Retourne la position virtuelle en y correspondante
|
136
|
+
def getVY(y)
|
137
|
+
if height * @ratio > width
|
138
|
+
return (y - (height - width / @ratio) / 2 - @vX/2) / @vX
|
139
|
+
else
|
140
|
+
return (y - @vY/2) / @vY
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
# Retourne une valeur dimensionnée par la taille de l'affichage
|
145
|
+
# (utile par exemple pour modifier la taille des cercles
|
146
|
+
# en fonction de la taille de la fenêtre)
|
147
|
+
#
|
148
|
+
# === Paramètres
|
149
|
+
#
|
150
|
+
# * +s+ => Valeur à dimensionner
|
151
|
+
#
|
152
|
+
# === Retour
|
153
|
+
#
|
154
|
+
# Retourne la valeur dimensionnée
|
155
|
+
def scale(s)
|
156
|
+
if width / @ratio > height
|
157
|
+
return s * @vY
|
158
|
+
else
|
159
|
+
return s * @vX
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
# Dessin de la grille
|
164
|
+
#
|
165
|
+
# === Paramètres
|
166
|
+
#
|
167
|
+
# * +cr+ => Contexte sur lequel dessiner
|
168
|
+
def draw(cr)
|
169
|
+
@vX = 1.0 * width / @vWidth
|
170
|
+
@vY = 1.0 * height / @vHeight
|
171
|
+
cr.select_font_face("Arial", Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_NORMAL)
|
172
|
+
cr.set_font_size(scale(0.5))
|
173
|
+
t = []
|
174
|
+
@grille.tabLien.each() do |l|
|
175
|
+
if !t.include?(l)
|
176
|
+
l2 = @grille.lienSimilaire(l)
|
177
|
+
if l2
|
178
|
+
drawLien(cr, l, -0.075)
|
179
|
+
drawLien(cr, l2, 0.075)
|
180
|
+
t.append(l2)
|
181
|
+
else
|
182
|
+
drawLien(cr, l, 0)
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
@grille.tabCase.each() { |c| drawCircle(cr, c) }
|
187
|
+
end
|
188
|
+
|
189
|
+
# Dessin d'un cercle
|
190
|
+
#
|
191
|
+
# === Paramètres
|
192
|
+
#
|
193
|
+
# * +cr+ => Contexte sur lequel dessiner
|
194
|
+
# * +c+ => Cercle à dessiner
|
195
|
+
def drawCircle(cr, c)
|
196
|
+
x = c.colonne()
|
197
|
+
y = c.ligne()
|
198
|
+
n = c.etiquetteCase()
|
199
|
+
|
200
|
+
cr.set_source_rgb(0.45, 0.45, 0.45)
|
201
|
+
|
202
|
+
#nord
|
203
|
+
if c.tabTriangle[0]
|
204
|
+
cr.move_to(getX(x), getY(y)-scale(0.45))
|
205
|
+
cr.line_to(getX(x) - scale(0.2), getY(y))
|
206
|
+
cr.line_to(getX(x) + scale(0.2), getY(y))
|
207
|
+
cr.close_path()
|
208
|
+
cr.fill()
|
209
|
+
end
|
210
|
+
#est
|
211
|
+
if c.tabTriangle[1]
|
212
|
+
cr.move_to(getX(x)+scale(0.45), getY(y))
|
213
|
+
cr.line_to(getX(x), getY(y)- scale(0.2))
|
214
|
+
cr.line_to(getX(x), getY(y)+ scale(0.2))
|
215
|
+
cr.close_path()
|
216
|
+
cr.fill()
|
217
|
+
end
|
218
|
+
#sud
|
219
|
+
if c.tabTriangle[2]
|
220
|
+
cr.move_to(getX(x), getY(y)+scale(0.45))
|
221
|
+
cr.line_to(getX(x) - scale(0.2), getY(y))
|
222
|
+
cr.line_to(getX(x) + scale(0.2), getY(y))
|
223
|
+
cr.close_path()
|
224
|
+
cr.fill()
|
225
|
+
end
|
226
|
+
#ouest
|
227
|
+
if c.tabTriangle[3]
|
228
|
+
cr.move_to(getX(x)-scale(0.45), getY(y))
|
229
|
+
cr.line_to(getX(x), getY(y)- scale(0.2))
|
230
|
+
cr.line_to(getX(x), getY(y)+ scale(0.2))
|
231
|
+
cr.close_path()
|
232
|
+
cr.fill()
|
233
|
+
end
|
234
|
+
|
235
|
+
# Affichage bordure cercle
|
236
|
+
saturee?(c) ? cr.set_source_rgb(0.5, 0.5, 0.5) : cr.set_source_rgb(0, 0, 0)
|
237
|
+
cr.set_source_rgb(0,1,0) if c == @cercleAide
|
238
|
+
cr.arc(getX(x), getY(y), scale(0.3), 0, 2*Math::PI)
|
239
|
+
cr.fill()
|
240
|
+
# Affichage partie balnche cercle
|
241
|
+
saturee?(c) ? cr.set_source_rgb(0.75, 0.75, 0.75) : cr.set_source_rgb(1, 1, 1)
|
242
|
+
cr.arc(getX(x), getY(y), scale(0.28), 0, 2*Math::PI)
|
243
|
+
cr.fill()
|
244
|
+
#Affichage numéro
|
245
|
+
saturee?(c) ? cr.set_source_rgb(0.5, 0.5, 0.5) : cr.set_source_rgb(0, 0, 0)
|
246
|
+
cr.set_source_rgb(0,1,0) if c == @cercleAide
|
247
|
+
cr.move_to(getX(x) - scale(0.14), getY(y) + scale(0.18))
|
248
|
+
cr.show_text(n.to_s())
|
249
|
+
end
|
250
|
+
|
251
|
+
def saturee?(c)
|
252
|
+
return true if c.nbLienCase(@grille.tabLien) >= c.etiquetteCase.to_i()
|
253
|
+
return false
|
254
|
+
end
|
255
|
+
|
256
|
+
# Dessin d'un lien
|
257
|
+
#
|
258
|
+
# === Paramètres
|
259
|
+
#
|
260
|
+
# * +cr+ => Contexte sur lequel dessiner
|
261
|
+
# * +l+ => Lien à dessiner
|
262
|
+
# * +offset+ => Décalage du lien
|
263
|
+
def drawLien(cr, l, offset)
|
264
|
+
x1 = l.case1.colonne()
|
265
|
+
y1 = l.case1.ligne()
|
266
|
+
x2 = l.case2.colonne()
|
267
|
+
y2 = l.case2.ligne()
|
268
|
+
|
269
|
+
epaisseur = 0.02
|
270
|
+
|
271
|
+
if l.hypothese
|
272
|
+
cr.set_source_rgb(0.2, 0.8, 0.2) # Couleur verte
|
273
|
+
else
|
274
|
+
cr.set_source_rgb(0, 0, 0)
|
275
|
+
end
|
276
|
+
|
277
|
+
if @surbrillance.include?(l)
|
278
|
+
cr.set_source_rgb(0.8,0.2,0.2)
|
279
|
+
end
|
280
|
+
|
281
|
+
if lienHorizontal(l)
|
282
|
+
cr.rectangle(getX(x1), getY(y1)-scale(epaisseur/2)+scale(offset), getX(x2)-getX(x1), scale(epaisseur))
|
283
|
+
else
|
284
|
+
cr.rectangle(getX(x1)-scale(epaisseur/2)+scale(offset), getY(y1), scale(epaisseur), getY(y2)-getY(y1))
|
285
|
+
end
|
286
|
+
|
287
|
+
cr.fill()
|
288
|
+
end
|
289
|
+
|
290
|
+
# Clic sur la souris
|
291
|
+
#
|
292
|
+
# === Paramètres
|
293
|
+
#
|
294
|
+
# * +event+ => Evenement Gtk contenant les informations sur le clic
|
295
|
+
def mouseClick(event)
|
296
|
+
#puts(event.x, event.y)
|
297
|
+
#puts(getVX(event.x), getVY(event.y))
|
298
|
+
@surbrillance = []
|
299
|
+
@grille.tabCase.each() do |c|
|
300
|
+
x = c.colonne
|
301
|
+
y = c.ligne
|
302
|
+
|
303
|
+
if (getVX(event.x) > x - 0.3) && (getVX(event.x) < x + 0.3) && (getVY(event.y) > y - 0.3) && (getVY(event.y) < y + 0.3)
|
304
|
+
@grille.clicCercle(c, @surbrillance)
|
305
|
+
@jeu.aJoue()
|
306
|
+
return
|
307
|
+
end
|
308
|
+
|
309
|
+
#haut
|
310
|
+
if c.tabTriangle[0] && (getVX(event.x) > x - 0.1) && (getVX(event.x) < x + 0.1) && (getVY(event.y) > y - 0.5) && (getVY(event.y) < y - 0.3)
|
311
|
+
@grille.clicTriangle(c,0)
|
312
|
+
@jeu.aJoue()
|
313
|
+
return
|
314
|
+
end
|
315
|
+
|
316
|
+
#bas
|
317
|
+
if c.tabTriangle[2] && (getVX(event.x) > x - 0.1) && (getVX(event.x) < x + 0.1) && (getVY(event.y) > y + 0.3) && (getVY(event.y) < y + 0.5)
|
318
|
+
@grille.clicTriangle(c,2)
|
319
|
+
@jeu.aJoue()
|
320
|
+
return
|
321
|
+
end
|
322
|
+
|
323
|
+
#gauche
|
324
|
+
if c.tabTriangle[3] && (getVX(event.x) > x - 0.5) && (getVX(event.x) < x - 0.3) && (getVY(event.y) > y - 0.1) && (getVY(event.y) < y + 0.1)
|
325
|
+
@grille.clicTriangle(c,3)
|
326
|
+
@jeu.aJoue()
|
327
|
+
return
|
328
|
+
end
|
329
|
+
|
330
|
+
#droite
|
331
|
+
if c.tabTriangle[1] && (getVX(event.x) > x + 0.3) && (getVX(event.x) < x + 0.5) && (getVY(event.y) > y - 0.1) && (getVY(event.y) < y + 0.1)
|
332
|
+
@grille.clicTriangle(c,1)
|
333
|
+
@jeu.aJoue()
|
334
|
+
return
|
335
|
+
end
|
336
|
+
end
|
337
|
+
|
338
|
+
@grille.tabLien.each() do |l|
|
339
|
+
if l.case1.colonne < l.case2.colonne
|
340
|
+
x1 = l.case1.colonne
|
341
|
+
x2 = l.case2.colonne
|
342
|
+
else
|
343
|
+
x1 = l.case2.colonne
|
344
|
+
x2 = l.case1.colonne
|
345
|
+
end
|
346
|
+
|
347
|
+
if l.case1.ligne < l.case2.ligne
|
348
|
+
y1 = l.case1.ligne
|
349
|
+
y2 = l.case2.ligne
|
350
|
+
else
|
351
|
+
y1 = l.case2.ligne
|
352
|
+
y2 = l.case1.ligne
|
353
|
+
end
|
354
|
+
|
355
|
+
marge = 0.2
|
356
|
+
|
357
|
+
if y1 == y2
|
358
|
+
if (getVX(event.x) > x1 + 0.4) && (getVX(event.x) < x2 - 0.4) && (getVY(event.y) > y1 - marge) && (getVY(event.y) < y1 + marge)
|
359
|
+
@grille.clicLien(l)
|
360
|
+
@jeu.aJoue()
|
361
|
+
return
|
362
|
+
end
|
363
|
+
else
|
364
|
+
if (getVX(event.x) > x1 - marge) && (getVX(event.x) < x1 + marge) && (getVY(event.y) > y1 + 0.4) && (getVY(event.y) < y2 - 0.4)
|
365
|
+
@grille.clicLien(l)
|
366
|
+
@jeu.aJoue()
|
367
|
+
return
|
368
|
+
end
|
369
|
+
end
|
370
|
+
end
|
371
|
+
end
|
372
|
+
|
373
|
+
# Test si lien horizontal
|
374
|
+
#
|
375
|
+
# === Paramètres
|
376
|
+
#
|
377
|
+
# * +l+ => Lien à tester
|
378
|
+
#
|
379
|
+
# === Retour
|
380
|
+
#
|
381
|
+
# Retourne vrai si le lien est horizontal, faux sinon
|
382
|
+
def lienHorizontal(l)
|
383
|
+
return l.case1.colonne != l.case2.colonne
|
384
|
+
end
|
385
|
+
end
|
@@ -0,0 +1,209 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "AfficheurGrille"
|
3
|
+
require_relative "Timer"
|
4
|
+
require_relative "Didacticiel"
|
5
|
+
|
6
|
+
# Widget Gtk permettant d'afficher un plateau de jeu
|
7
|
+
class AfficheurJeu < Gtk::Paned
|
8
|
+
|
9
|
+
# @afficheurGrille => Widget afficheur grille
|
10
|
+
# @timer => Label du timer
|
11
|
+
# @annuler => Bouton annuler
|
12
|
+
# @refaire => Bouton refaire
|
13
|
+
# @hypothese => Bouton hypothèse
|
14
|
+
# @verif => Bouton vérification
|
15
|
+
# @aidePos => Bouton aide position
|
16
|
+
# @aideTech => Bouton aide technique
|
17
|
+
# @pause => Bouton pause
|
18
|
+
# @menu => Menu de droite
|
19
|
+
|
20
|
+
# Constructeur
|
21
|
+
#
|
22
|
+
# === Parametres
|
23
|
+
#
|
24
|
+
# * +grille+ => Grille à afficher
|
25
|
+
# * +fenetre+ => Fenetre principale
|
26
|
+
# * +type+ => "entrainemen", "classe", "aventure"
|
27
|
+
def initialize(grille, fenetre, type)
|
28
|
+
super(Gtk::Orientation.new(0))
|
29
|
+
@paused = false
|
30
|
+
@type = type
|
31
|
+
@fenetre = fenetre
|
32
|
+
|
33
|
+
@grilleDb = grille
|
34
|
+
@grille = YAML.load(@grilleDb.grilleSolution)
|
35
|
+
@grille.nbAides ||= 0
|
36
|
+
@nbAides = @grille.nbAides
|
37
|
+
@afficheurGrille = AfficheurGrille.new(@grille, true, self)
|
38
|
+
|
39
|
+
@menu = Gtk::Box.new(Gtk::Orientation.new(1), 0)
|
40
|
+
@menu.spacing = 5
|
41
|
+
c = Gtk::Label.new("")
|
42
|
+
c.expand = true
|
43
|
+
@menu.add(c)
|
44
|
+
@boutonContinuer = Gtk::Button.new(:label => "Continuer")
|
45
|
+
@boutonContinuer.signal_connect("clicked") { |widget| self.remove(@menu); self.add1(@afficheurGrille); self.show_all(); @paused = false; @timer.reprendre() }
|
46
|
+
@boutonRegles = Gtk::Button.new(:label => "Didacticiel")
|
47
|
+
@boutonRegles.signal_connect("clicked") { |widget| @didacticiel = Didacticiel.new(); }
|
48
|
+
@boutonQuitter = Gtk::Button.new(:label => "Quitter")
|
49
|
+
@boutonQuitter.signal_connect("clicked") do |widget|
|
50
|
+
if @type == "classe"
|
51
|
+
d = Gtk::MessageDialog.new(:buttons => :ok_cancel)
|
52
|
+
d.text = "Votre progression sur cette grille sera effacée si vous quittez"
|
53
|
+
d.message_type = :question
|
54
|
+
r = d.run == :ok
|
55
|
+
d.destroy
|
56
|
+
fenetre.finJeu() if r
|
57
|
+
else
|
58
|
+
@grille.timer = @timer.secondes
|
59
|
+
@grille.nbAides = @nbAides
|
60
|
+
@grilleDb.grilleSolution = @grille.to_yaml()
|
61
|
+
GestionBase.changerScore(fenetre.joueur.id, @grilleDb, 0)
|
62
|
+
puts("Sauvegardé")
|
63
|
+
fenetre.finJeu()
|
64
|
+
end
|
65
|
+
end
|
66
|
+
@menu.add(@boutonContinuer)
|
67
|
+
@menu.add(@boutonRegles)
|
68
|
+
@menu.add(@boutonQuitter)
|
69
|
+
|
70
|
+
c = Gtk::Label.new("")
|
71
|
+
c.expand = true
|
72
|
+
@menu.add(c)
|
73
|
+
|
74
|
+
boxVerticale = Gtk::Box.new(Gtk::Orientation.new(1), 0)
|
75
|
+
@timer = Timer.new(@grille.timer)
|
76
|
+
@timer.margin_top = 15
|
77
|
+
boxVerticale.add(@timer)
|
78
|
+
|
79
|
+
|
80
|
+
boxHorizontale = Gtk::Box.new(Gtk::Orientation.new(0), 0)
|
81
|
+
boxHorizontale.margin_top = 15
|
82
|
+
@annuler = Gtk::Button.new(:label => "Annuler")
|
83
|
+
@annuler.hexpand = true
|
84
|
+
boxHorizontale.add(@annuler)
|
85
|
+
@annuler.signal_connect("clicked") { |widget| @grille.annuler(); @afficheurGrille.queue_draw() }
|
86
|
+
|
87
|
+
@refaire = Gtk::Button.new(:label => "Refaire")
|
88
|
+
@refaire.hexpand = true
|
89
|
+
boxHorizontale.add(@refaire)
|
90
|
+
@refaire.signal_connect("clicked") { |widget| @grille.refaire(); @afficheurGrille.queue_draw() }
|
91
|
+
boxVerticale.add(boxHorizontale)
|
92
|
+
|
93
|
+
@verif = Gtk::Button.new(:label => "Vérification")
|
94
|
+
boxVerticale.add(@verif)
|
95
|
+
@verif.signal_connect("clicked") do |widget|
|
96
|
+
r = @grille.verification();
|
97
|
+
@nbAides += 3*r;
|
98
|
+
@afficheurGrille.queue_draw()
|
99
|
+
d = Gtk::MessageDialog.new()
|
100
|
+
d.text = "Erreurs corrigées: #{r}"
|
101
|
+
d.message_type = :info
|
102
|
+
d.run
|
103
|
+
d.destroy
|
104
|
+
end
|
105
|
+
|
106
|
+
@hypothese = Gtk::Stack.new()
|
107
|
+
@boutonHypothese = Gtk::Button.new(:label => "Hypothèse")
|
108
|
+
@boutonHypothese.signal_connect("clicked") { |widget| @grille.commencerHypothese(); @hypothese.visible_child = @boxHypothese; @afficheurGrille.queue_draw() }
|
109
|
+
@hypothese.add(@boutonHypothese)
|
110
|
+
|
111
|
+
@boxHypothese = Gtk::Box.new(Gtk::Orientation.new(0), 0)
|
112
|
+
@boutonValiderHypothese = Gtk::Button.new(:label => "Valider")
|
113
|
+
@boutonValiderHypothese.signal_connect("clicked") { |widget| @grille.validerHypothese(); @hypothese.visible_child = @boutonHypothese; @afficheurGrille.queue_draw() }
|
114
|
+
@boutonValiderHypothese.hexpand = true
|
115
|
+
@boutonAnnulerHypothese = Gtk::Button.new(:label => "Annuler")
|
116
|
+
@boutonAnnulerHypothese.signal_connect("clicked") { |widget| @grille.annulerHypothese(); @hypothese.visible_child = @boutonHypothese; @afficheurGrille.queue_draw() }
|
117
|
+
@boutonAnnulerHypothese.hexpand = true
|
118
|
+
|
119
|
+
@boxHypothese.add(@boutonAnnulerHypothese)
|
120
|
+
@boxHypothese.add(@boutonValiderHypothese)
|
121
|
+
@hypothese.add(@boxHypothese)
|
122
|
+
boxVerticale.add(@hypothese)
|
123
|
+
@hypothese.show_all()
|
124
|
+
@hypothese.visible_child = (@grille.hypothese == true ? @boxHypothese : @boutonHypothese)
|
125
|
+
|
126
|
+
@reinitialiser = Gtk::Button.new(:label => "Réinitialiser")
|
127
|
+
boxVerticale.add(@reinitialiser)
|
128
|
+
@reinitialiser.signal_connect("clicked") { |widget| @grille.reinitialiser(); @afficheurGrille.queue_draw() }
|
129
|
+
|
130
|
+
|
131
|
+
box = Gtk::Box.new(Gtk::Orientation.new(1), 0)
|
132
|
+
box.margin_top = 15
|
133
|
+
box.vexpand = true
|
134
|
+
|
135
|
+
box.add(Gtk::Label.new("Aide :"))
|
136
|
+
|
137
|
+
@aidePos = Gtk::Button.new(:label => "Position")
|
138
|
+
@aidePos.margin_top = 5
|
139
|
+
box.add(@aidePos)
|
140
|
+
@aidePos.signal_connect("clicked") do |widget|
|
141
|
+
@aide ||= @grille.obtenirAide()
|
142
|
+
puts("avant " + @nbAides.to_s)
|
143
|
+
@nbAides += @aide.niveau == 1 ? 5 : @aide.niveau == 2 ? 3 : 1
|
144
|
+
puts("après " + @nbAides.to_s)
|
145
|
+
@afficheurGrille.cercleAide = @aide.caseJeu
|
146
|
+
@afficheurGrille.queue_draw()
|
147
|
+
@aidePos.sensitive = false
|
148
|
+
end
|
149
|
+
|
150
|
+
@aideTech = Gtk::Button.new(:label => "Technique")
|
151
|
+
box.add(@aideTech)
|
152
|
+
@aideTech.signal_connect("clicked") do |widget|
|
153
|
+
@aide ||= @grille.obtenirAide()
|
154
|
+
puts("avant " + @nbAides.to_s)
|
155
|
+
@nbAides += @aide.niveau == 1 ? 5 : @aide.niveau == 2 ? 3 : 1
|
156
|
+
puts("après " + @nbAides.to_s)
|
157
|
+
@description.text = @aide.description
|
158
|
+
@afficheurGrille.queue_draw()
|
159
|
+
@aideTech.sensitive = false
|
160
|
+
end
|
161
|
+
|
162
|
+
if @type == "aventure"
|
163
|
+
@aideTech.sensitive = false
|
164
|
+
@aidePos.sensitive = false
|
165
|
+
end
|
166
|
+
|
167
|
+
@description = Gtk::Label.new("")
|
168
|
+
@description.line_wrap = true
|
169
|
+
box.add(@description)
|
170
|
+
|
171
|
+
boxVerticale.add(box)
|
172
|
+
@pause = Gtk::Button.new(:label => "Pause")
|
173
|
+
boxVerticale.add(@pause)
|
174
|
+
@pause.signal_connect("clicked") { |widget| @timer.pause(); self.remove(@afficheurGrille); self.add1(@menu); self.show_all(); @paused = true }
|
175
|
+
|
176
|
+
self.add1(@afficheurGrille)
|
177
|
+
self.add2(boxVerticale)
|
178
|
+
self.set_wide_handle(true)
|
179
|
+
#self.set_position(1000)
|
180
|
+
#puts(self.allocation.width)
|
181
|
+
self.signal_connect("draw") do
|
182
|
+
self.set_position(self.allocation.width* (@paused ? 1 : 0.80))
|
183
|
+
print(nil)
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
def aJoue()
|
188
|
+
if @type != "aventure"
|
189
|
+
@aide = nil
|
190
|
+
@afficheurGrille.cercleAide = nil
|
191
|
+
@description.text = ""
|
192
|
+
@aideTech.sensitive = true
|
193
|
+
@aidePos.sensitive = true
|
194
|
+
end
|
195
|
+
if @grille.grilleFinie?()
|
196
|
+
@grille.timer = @timer.secondes
|
197
|
+
@grille.nbAides = @nbAides
|
198
|
+
@grilleDb.grilleSolution = @grille.to_yaml()
|
199
|
+
GestionBase.changerScore(@fenetre.joueur.id, @grilleDb, 0)
|
200
|
+
puts("Sauvegardé")
|
201
|
+
d = Gtk::MessageDialog.new()
|
202
|
+
d.text = "Score final: #{GestionBase.recupScore(@fenetre.joueur.id, @grilleDb)}"
|
203
|
+
d.message_type = :info
|
204
|
+
d.run
|
205
|
+
d.destroy
|
206
|
+
@fenetre.finJeu()
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "SelecteurGrille"
|
3
|
+
|
4
|
+
# Widget Gtk permettant d'afficher des sélectionneurs de grille
|
5
|
+
class AfficheurSelection < Gtk::Box
|
6
|
+
|
7
|
+
# Constructeur
|
8
|
+
#
|
9
|
+
# === Paramètres
|
10
|
+
#
|
11
|
+
# * +fenetre+ - Fenetre principale
|
12
|
+
def initialize(fenetre)
|
13
|
+
super(Gtk::Orientation.new(0), 0)
|
14
|
+
|
15
|
+
boxHorizontale = Gtk::Box.new(Gtk::Orientation.new(0), 0)
|
16
|
+
self.add(boxHorizontale)
|
17
|
+
|
18
|
+
stackDif = Gtk::Stack.new()
|
19
|
+
stackDif.set_transition_type(Gtk::Stack::TransitionType::SLIDE_UP_DOWN);
|
20
|
+
stackDif.set_transition_duration(500);
|
21
|
+
boxVerticale = Gtk::Box.new(Gtk::Orientation.new(1), 0)
|
22
|
+
sideDif = Gtk::StackSidebar.new()
|
23
|
+
sideDif.stack = stackDif
|
24
|
+
sideDif.vexpand = true
|
25
|
+
boxVerticale.add(sideDif)
|
26
|
+
|
27
|
+
retour = Gtk::Button.new(label: "Retour")
|
28
|
+
retour.signal_connect("clicked") { fenetre.finSelection(nil, nil) }
|
29
|
+
boxVerticale.add(retour)
|
30
|
+
|
31
|
+
boxHorizontale.add(boxVerticale)
|
32
|
+
boxHorizontale.add(stackDif)
|
33
|
+
|
34
|
+
["Facile", "Moyen", "Difficile"].each_with_index() do |dif, i|
|
35
|
+
stackDif.add_titled(SelecteurGrille.new(fenetre, i+1), dif, dif)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "Carte"
|
3
|
+
require_relative "Etiquette"
|
4
|
+
|
5
|
+
# Widget Gtk affichant l'afrique
|
6
|
+
class Afrique < Carte
|
7
|
+
|
8
|
+
# @factZoom => Facteur de zoom
|
9
|
+
# @dX => Décalage de l'affichage en x
|
10
|
+
# @dY => Décalage de l'affichage en y
|
11
|
+
|
12
|
+
# Constructeur
|
13
|
+
#
|
14
|
+
# === Paramètres
|
15
|
+
#
|
16
|
+
# * +carte+ - Carte principale
|
17
|
+
def initialize(carte)
|
18
|
+
super(carte)
|
19
|
+
@dX = -2450
|
20
|
+
@dY = -2000
|
21
|
+
@factZoom = 1.3
|
22
|
+
|
23
|
+
@g = carte.grillesD
|
24
|
+
|
25
|
+
self.dessinerEtiquettes()
|
26
|
+
end
|
27
|
+
|
28
|
+
def dessinerEtiquettes()
|
29
|
+
ajouterEtiquette(Etiquette.new(2150, 1750, 90, 30, @carte.etoiles[2][7], @g[7]))
|
30
|
+
ajouterEtiquette(Etiquette.new(2500, 1780, 90, 30, @carte.etoiles[2][8], @g[8]))
|
31
|
+
ajouterEtiquette(Etiquette.new(2450, 2000, 90, 30, @carte.etoiles[2][9], @g[9]))
|
32
|
+
ajouterEtiquette(Etiquette.new(2730, 2230, 90, 30, @carte.etoiles[2][10], @g[10]))
|
33
|
+
ajouterEtiquette(Etiquette.new(2450, 2330, 90, 30, @carte.etoiles[2][11], @g[11]))
|
34
|
+
ajouterEtiquette(Etiquette.new(2290, 1650, 90, 30, @carte.etoiles[2][12], @g[12]))
|
35
|
+
ajouterEtiquette(Etiquette.new(2420, 2200, 90, 30, @carte.etoiles[2][13], @g[13]))
|
36
|
+
super()
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require "gtk3"
|
2
|
+
require_relative "Carte"
|
3
|
+
require_relative "Etiquette"
|
4
|
+
|
5
|
+
# Widget Gtk affichant l'amerique du nord
|
6
|
+
class AmeriqueNord < Carte
|
7
|
+
|
8
|
+
# @factZoom => Facteur de zoom
|
9
|
+
# @dX => Décalage de l'affichage en x
|
10
|
+
# @dY => Décalage de l'affichage en y
|
11
|
+
|
12
|
+
# Constructeur
|
13
|
+
#
|
14
|
+
# === Paramètres
|
15
|
+
#
|
16
|
+
# * +carte+ - Carte principale
|
17
|
+
def initialize(carte)
|
18
|
+
super(carte)
|
19
|
+
@dX = -1080
|
20
|
+
@dY = -1350
|
21
|
+
@factZoom = 1.1
|
22
|
+
|
23
|
+
@g = carte.grillesF
|
24
|
+
|
25
|
+
self.dessinerEtiquettes()
|
26
|
+
end
|
27
|
+
|
28
|
+
def dessinerEtiquettes()
|
29
|
+
ajouterEtiquette(Etiquette.new(1050, 1790, 90, 30, @carte.etoiles[0][0], @g[0]))
|
30
|
+
ajouterEtiquette(Etiquette.new(1270, 1700, 90, 30, @carte.etoiles[0][1], @g[1]))
|
31
|
+
ajouterEtiquette(Etiquette.new(1000, 1630, 90, 30, @carte.etoiles[0][2], @g[2]))
|
32
|
+
ajouterEtiquette(Etiquette.new(1230, 1530, 90, 30, @carte.etoiles[0][3], @g[3]))
|
33
|
+
ajouterEtiquette(Etiquette.new(930, 1300, 90, 30, @carte.etoiles[0][4], @g[4]))
|
34
|
+
ajouterEtiquette(Etiquette.new(1400, 1250, 90, 30, @carte.etoiles[0][5], @g[5]))
|
35
|
+
ajouterEtiquette(Etiquette.new(500, 1000, 90, 30, @carte.etoiles[0][6], @g[6]))
|
36
|
+
super()
|
37
|
+
end
|
38
|
+
end
|