potracer 1.0.2 → 1.0.3

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.
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