diff options
| author | Amir Rajan <[email protected]> | 2020-02-27 20:14:39 -0600 |
|---|---|---|
| committer | Amir Rajan <[email protected]> | 2020-02-27 20:14:39 -0600 |
| commit | 5d0c0305854633122b3e800dd9058e93c2950eb6 (patch) | |
| tree | 0283825a7055cebd59ad1b3aff1b3dec1f2ac03c /dragon/help.rb | |
| parent | 07468bf3f309c21ea3f7fcf47195ca275177dc7f (diff) | |
| download | dragonruby-game-toolkit-contrib-5d0c0305854633122b3e800dd9058e93c2950eb6.tar.gz dragonruby-game-toolkit-contrib-5d0c0305854633122b3e800dd9058e93c2950eb6.zip | |
open sourced parts of game toolkit.
Diffstat (limited to 'dragon/help.rb')
| -rw-r--r-- | dragon/help.rb | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/dragon/help.rb b/dragon/help.rb new file mode 100644 index 0000000..aee60d8 --- /dev/null +++ b/dragon/help.rb @@ -0,0 +1,72 @@ +# coding: utf-8 +# Copyright 2019 DragonRuby LLC +# MIT License +# help.rb has been released under MIT (*only this file*). + +module GTK + class Help + def self.primitive_contract primitive_name + if primitive_name == :label + label_contract + elsif primitive_name == :solid + solid_border_contract + elsif primitive_name == :border + solid_border_contract + elsif primitive_name == :sprite + sprite_contract + else + help_text = "No contract found for primitive #{primitive_name}. The supported primitives are :label, :solid, :border, :sprite." + end + end + + def self.label_contract + <<-S +* :label (if :primitive_marker returns :label) +** :x, :y, :text +** :size_enum +default: 0 +negative value means smaller text +positive value means larger text +** :alignment_enum default: 0 +default: 0 +0: left aligned, 1: center aligned, 2: right aligned +** :r, :g, :b, :a +default: 0's for rgb and 255 for a +** :font +default nil +path to ttf file +S + end + + def self.solid_border_contract + <<-S +* :solid, :border (if :primitive_marker returns :solid or :border) +** :x, :y, :w, :h, :r, :g, :b, :a +S + end + + def self.label_contract + <<-S +* :line (if :primitive_marker returns :line) +** :x, :y, :x2, :y2, :r, :g, :b, :a +S + end + + def self.sprite_contract + <<-S +* :sprite (if :primitive_marker returns :sprite) +** :x, :y, :w, :h +** :angle, :angle_anchor_x, :angle_anchor_y +default for angle: 0 (0 to 360 degress) +default for angle_anchor_(x|y): 0 (decimal value between 0 and 1.0, 0.5 means center) +** :r, :g, :b, :a +** :tile_x, :tile_y +default: 0, x, y offset for sprite to crop at +** :tile_w, :tile_h +default: -1, width and height of crop (-1 means full width and height) +** :flip_horizontally, :flip_vertically +default: falsey value +S + end + end +end |
