potracer 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/ext/potracer/potracer.c +1 -4
  2. data/lib/potracer.rb +16 -0
  3. metadata +2 -2
@@ -142,9 +142,6 @@ trace_trace (VALUE obj, VALUE bitmap, VALUE params)
142
142
 
143
143
  DATA_PTR(obj) = potrace_trace(param, bm);
144
144
 
145
- rb_gc_mark(bitmap);
146
- rb_gc_mark(params);
147
-
148
145
  return obj;
149
146
  }
150
147
 
@@ -199,7 +196,7 @@ static void
199
196
  bitmap_free (potrace_bitmap_t *bm)
200
197
  {
201
198
  if (bm != NULL) {
202
- free(bm->map);
199
+ xfree(bm->map);
203
200
  }
204
201
  free(bm);
205
202
  }
data/lib/potracer.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require_relative 'potracer/potracer'
2
+ require 'pry'
2
3
 
3
4
  module Potracer
4
5
  class Trace
@@ -9,5 +10,20 @@ module Potracer
9
10
  self.do_trace(bitmap || @bitmap, params || @params)
10
11
  end
11
12
  end
13
+
14
+ def self.bitmap(bmp, &block)
15
+ height = bmp.length
16
+ width = bmp.map {|r| r.length}.max
17
+ bmp.map! {|r| r.fill(0, r.length, width - r.length)}
18
+ trace = self.new
19
+ params = Potracer::Params.new
20
+ bits = Potracer::Bitmap.new(width, height, bmp)
21
+ if block_given?
22
+ trace.trace(bits, params, &block)
23
+ else
24
+ trace.trace(bits, params)
25
+ end
26
+ trace
27
+ end
12
28
  end
13
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: potracer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-04 00:00:00.000000000 Z
12
+ date: 2012-10-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Ruby bindings for the potrace library.
15
15
  email: k.parnell@gmail.com