animation-studio 0.1.2 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA512:
3
+ metadata.gz: 0fafbf2bdde6328a36404e7c7ca59881ab250e08a24568d0de26e0eaf7a73495818abe63910373e79b5fb0878390933f3841da1ac27852b32508bcc4191732b1
4
+ data.tar.gz: 44f9a996e42e58214e43a5136a999ab7ea894d337f9f2248c3bcc3d0050c6ee61d6e2a90bbd3f56cd640c22cdfab0c248cd6e7878b8675472272f065880c2ea9
5
+ SHA1:
6
+ metadata.gz: 06dac712b5a4c85863837de786540c1b4a800b54
7
+ data.tar.gz: 7be852a08a8bec58c9edbe12eea36fecba9c9e1e
@@ -20,8 +20,8 @@ Compass::Frameworks.register('animation-studio', :stylesheets_directory => style
20
20
  # a prerelease version
21
21
  # Date is in the form of YYYY-MM-DD
22
22
  module AnimationStudio
23
- VERSION = "0.1.2"
24
- DATE = "2013-09-02"
23
+ VERSION = "0.1.4"
24
+ DATE = "2013-11-30"
25
25
  end
26
26
 
27
27
  # This is where any custom SassScript should be placed. The functions will be
@@ -19,18 +19,19 @@ $animation-sequence-extend: true !default;
19
19
 
20
20
  }
21
21
 
22
- @mixin animation-sequence($folder, $time, $animation:$animation-sequence-name, $extend: $animation-sequence-extend) {
22
+ @mixin animation-sequence($folder, $time, $animation:$animation-sequence-name, $options: infinite, $generate-dimensions: true, $extend: $animation-sequence-extend) {
23
23
  $png-path: $folder + "/*.png";
24
24
  $sprite-map: sprite-map($png-path);
25
25
  $sprite-path: sprite-path($sprite-map);
26
26
 
27
27
  $steps: length(sprite-names($sprite-map));
28
28
 
29
- $height: image-height($sprite-path);
30
- $width: image-width($sprite-path);
31
-
32
- height: $height / $steps;
33
- width: $width;
29
+ @if $generate-dimensions {
30
+ $height: image-height($sprite-path);
31
+ $width: image-width($sprite-path);
32
+ height: $height / $steps;
33
+ width: $width;
34
+ }
34
35
 
35
36
  @if $extend {
36
37
  @extend %#{sprite-map-name($sprite-map)}-animation-sequence;
@@ -39,7 +40,7 @@ $animation-sequence-extend: true !default;
39
40
  @include animation-sequence-sprite-generator($folder, $extend);
40
41
  }
41
42
 
42
- @include animation(unquote($animation) $time steps($steps) infinite);
43
+ @include animation(unquote($animation) $time steps($steps) $options);
43
44
  }
44
45
 
45
46
  @mixin animation-sequence-keyframes($folder, $name: $animation-sequence-name) {
@@ -59,4 +60,88 @@ $animation-sequence-extend: true !default;
59
60
  background-position: 0 $height;
60
61
  }
61
62
  }
63
+ }
64
+
65
+ @mixin animation-still($folder, $frame: 1, $generate-dimensions: true) {
66
+ $png-path: $folder + "/*.png";
67
+ $sprite-map: sprite-map($png-path);
68
+ $sprite-path: sprite-path($sprite-map);
69
+ $height: image-height($sprite-path);
70
+ $frames: length(sprite-names($sprite-map));
71
+ $frame-height: $height/$frames;
72
+ $frame-position: percentage((($frame * ($frame-height)) - $frame-height + ($frame-height/$frame)) / $height);
73
+
74
+ background: $sprite-map 0 $frame-position no-repeat;
75
+
76
+ @if $generate-dimensions {
77
+ $height: image-height($sprite-path);
78
+ $width: image-width($sprite-path);
79
+ height: $height / $frames;
80
+ width: $width;
81
+ }
82
+ }
83
+
84
+ @function strip-units($number) {
85
+ @return $number / ($number * 0 + 1);
86
+ }
87
+
88
+ @mixin animation-sequence-span($folder, $time, $animation-sequence-span-name, $start-frame, $end-frame, $options: infinite, $generate-dimensions: true, $extend: $animation-sequence-extend) {
89
+ $png-path: $folder + "/*.png";
90
+ $sprite-map: sprite-map($png-path);
91
+ $sprite-path: sprite-path($sprite-map);
92
+ $sprite-height: image-height($sprite-path);
93
+ $frames: length(sprite-names($sprite-map));
94
+ $frame-height: $sprite-height/$frames;
95
+ $start-frame-position: nth(sprite-position($sprite-map, $start-frame), 2);
96
+ $end-frame-position: nth(sprite-position($sprite-map, $end-frame), 2);
97
+
98
+
99
+ $steps: (($start-frame-position - $end-frame-position) + $frame-height) / $frame-height;
100
+
101
+ @if $generate-dimensions {
102
+ $width: image-width($sprite-path);
103
+ height: $frame-height;
104
+ width: $width;
105
+ }
106
+
107
+ @if $extend {
108
+ @extend %#{sprite-map-name($sprite-map)}-animation-sequence;
109
+ }
110
+ @else {
111
+ @include animation-sequence-sprite-generator($folder, $extend);
112
+ }
113
+
114
+ @include animation(unquote($animation-sequence-span-name) $time steps($steps) $options);
115
+ }
116
+
117
+ @mixin animation-sequence-keyframes-span($folder, $name, $start-frame, $end-frame) {
118
+ $png-path: $folder + "/*.png";
119
+ $sprite-map: sprite-map($png-path);
120
+ $sprite-path: sprite-path($sprite-map);
121
+ $height: image-height($sprite-path);
122
+ $frames: length(sprite-names($sprite-map));
123
+ $frame-height: $height/$frames;
124
+
125
+ $start-position: nth(sprite-position($sprite-map, $start-frame), 2) * -1;
126
+ $start-frame-index: strip-units($start-position/ $frame-height);
127
+ $end-position: nth(sprite-position($sprite-map, $end-frame), 2) * -1;
128
+ $end-frame-index: strip-units($end-position/ $frame-height);
129
+
130
+ // Find what the unit of increment is for each frame: 3 = 50%, 4 = 33%, 5 = 25% etc.
131
+ $frame-unit: percentage(1/($frames - 1));
132
+
133
+ // Then for the starting position, multiply that by the frame. For instance... 1 = 0%, 2 = 50%, 3 = 100%
134
+ $start-position: $start-frame-index * $frame-unit;
135
+
136
+ // For the ending position, add an extra frame. For instance... 2 = 100%, 3 = 150%
137
+ $end-position: ($end-frame-index + 1) * $frame-unit;
138
+
139
+ @include keyframes($name) {
140
+ 0% {
141
+ background-position: 0 $start-position;
142
+ }
143
+ 100% {
144
+ background-position: 0 $end-position;
145
+ }
146
+ }
62
147
  }
@@ -3,4 +3,4 @@ source 'https://rubygems.org'
3
3
  gem 'sass', '>=3.2.3'
4
4
  gem 'compass', '>=0.13.alpha.4'
5
5
 
6
- gem 'Animation Studio', '~>0.1.2'
6
+ gem 'Animation Studio', '~>0.1.4'
Binary file
metadata CHANGED
@@ -1,12 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: animation-studio
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 1
8
- - 2
9
- version: 0.1.2
4
+ version: 0.1.4
10
5
  platform: ruby
11
6
  authors:
12
7
  - Sam Richard, Rachel Nabors
@@ -14,38 +9,28 @@ autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
11
 
17
- date: 2013-09-02 00:00:00 -04:00
18
- default_executable:
12
+ date: 2013-11-30 00:00:00 Z
19
13
  dependencies:
20
14
  - !ruby/object:Gem::Dependency
21
15
  type: :runtime
16
+ name: sass
22
17
  version_requirements: &id001 !ruby/object:Gem::Requirement
23
18
  requirements:
24
19
  - - ">="
25
20
  - !ruby/object:Gem::Version
26
- segments:
27
- - 3
28
- - 2
29
- - 3
30
21
  version: 3.2.3
31
- name: sass
32
- requirement: *id001
33
22
  prerelease: false
23
+ requirement: *id001
34
24
  - !ruby/object:Gem::Dependency
35
25
  type: :runtime
26
+ name: compass
36
27
  version_requirements: &id002 !ruby/object:Gem::Requirement
37
28
  requirements:
38
29
  - - ">="
39
30
  - !ruby/object:Gem::Version
40
- segments:
41
- - 0
42
- - 13
43
- - alpha
44
- - 4
45
31
  version: 0.13.alpha.4
46
- name: compass
47
- requirement: *id002
48
32
  prerelease: false
33
+ requirement: *id002
49
34
  description: A long description of this awesome compass extension
50
35
  email:
51
36
  - sam@snug.ug, rachelnabors@gmail.com
@@ -59,9 +44,10 @@ files:
59
44
  - lib/animation-studio.rb
60
45
  - stylesheets/_animation-studio.scss
61
46
  - stylesheets/animation-studio/_animation-sequence.scss
62
- - templates/project/eyes/eyes_01.png
63
- - templates/project/eyes/eyes_02.png
64
- - templates/project/eyes/eyes_03.png
47
+ - templates/project/alice/alice-frightened_1.png
48
+ - templates/project/alice/alice-frightened_2.png
49
+ - templates/project/alice/awake.png
50
+ - templates/project/alice-s70adcc6818.png
65
51
  - templates/project/Gemfile.txt
66
52
  - templates/project/tuna-walk/tuna-walk_01.png
67
53
  - templates/project/tuna-walk/tuna-walk_02.png
@@ -76,10 +62,11 @@ files:
76
62
  - templates/project/tuna-walk/tuna-walk_11.png
77
63
  - templates/project/tuna-walk/tuna-walk_12.png
78
64
  - templates/project/tuna-walk-s77788462e5.png
79
- has_rdoc: true
80
65
  homepage: https://github.com/team-sass/animation-studio
81
66
  licenses:
82
67
  - MIT
68
+ metadata: {}
69
+
83
70
  post_install_message:
84
71
  rdoc_options: []
85
72
 
@@ -89,24 +76,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
76
  requirements:
90
77
  - - ">="
91
78
  - !ruby/object:Gem::Version
92
- segments:
93
- - 0
94
79
  version: "0"
95
80
  required_rubygems_version: !ruby/object:Gem::Requirement
96
81
  requirements:
97
82
  - - ">="
98
83
  - !ruby/object:Gem::Version
99
- segments:
100
- - 1
101
- - 3
102
- - 6
103
84
  version: 1.3.6
104
85
  requirements: []
105
86
 
106
87
  rubyforge_project: animation-studio
107
- rubygems_version: 1.3.6
88
+ rubygems_version: 2.0.7
108
89
  signing_key:
109
- specification_version: 3
90
+ specification_version: 4
110
91
  summary: A short summary of this awesome compass extension
111
92
  test_files: []
112
93
 
Binary file
Binary file
Binary file