rubink 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ab222808a604806de4c3121da1aaa7b656a375eb
4
+ data.tar.gz: 9feb03d85db892bc70b6809f013840808d33374d
5
+ SHA512:
6
+ metadata.gz: bbfb75566934503d6a78d771fc0be7e7a23bfd5b6e8ae5b74a72af2aca78937032b659ddb090db5ff819b192a2f4a66f6e563fccf1caa5fa5f73972b5ce96894
7
+ data.tar.gz: e25d8d93bf9c7415e274af3710821b29301748af21a737f96e05191d8ad08eb9b5ad83d725cd004444f61fdf53a45decc24d97fe78d86be0434064012f1538ab
data/bin/rubink ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # load "lib/rubink.rb"
4
+ require "rubink"
5
+ Rubink.run
data/lib/app.rb ADDED
@@ -0,0 +1,91 @@
1
+ ####################################
2
+ # Author: Peter Lamber
3
+ # Rubink (Ruby Ink)
4
+ # Made with Opal and Processing
5
+ ####################################
6
+
7
+ require 'opal'
8
+ require 'native'
9
+
10
+
11
+ module Common
12
+ def ink_setup
13
+ $window = Native(`window`) # Get Page Window
14
+ $p = $window.p #Set global Processing hook
15
+
16
+ end
17
+
18
+ def alert(message)
19
+ $window.alert(message)
20
+ end
21
+
22
+ def black
23
+ $p.background(1)
24
+ end
25
+
26
+ # Check if point is over given rectangle
27
+ def over?(x,y,l,h)
28
+ true if $p.mouseX >= x &&
29
+ $p.mouseX <= l+x &&
30
+ $p.mouseY >= y &&
31
+ $p.mouseY <= h+y
32
+ end
33
+
34
+ end
35
+
36
+
37
+ class Rubink
38
+ include Common
39
+ attr_accessor :p, :window, :dragX, :dragY, :sprites
40
+ def initialize
41
+ ink_setup
42
+ @p = $p
43
+ @window = $window
44
+ @sprites = []
45
+ @m = 0
46
+ @sprite = 0
47
+ end
48
+
49
+
50
+ def renderSprite(milisec, x, y, w, h)
51
+ @p.image(@sprites[@sprite],x,y,w,h)
52
+ @sprite += 1 if passMili?(milisec)
53
+ @sprite = 0 if @sprites.length == @sprite
54
+ end
55
+
56
+ def pushSprite(sprite)
57
+ @sprites.push(@p.loadImage(sprite))
58
+ end
59
+
60
+ def drag(x,y)
61
+ @dragX,@dragY = x,y
62
+ end
63
+
64
+ def passMili?(time)
65
+ @m = @p.millis if @m == 0
66
+ @m2 = @p.millis
67
+ @m3 = @m2 - @m
68
+ if @m3 >= time
69
+ @m,@m2 = 0,0
70
+ return true
71
+ else
72
+ return false
73
+ end
74
+ end
75
+
76
+ def mousePressed
77
+ end
78
+
79
+ def mouseReleased
80
+ end
81
+
82
+ def mouseClicked
83
+ end
84
+
85
+ def mouseMoved
86
+ end
87
+
88
+ def keyPressed
89
+ end
90
+ end
91
+