apple_png 0.0.1 → 0.0.2
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.
- data/ext/apple_png/apple_png.c +15 -4
- data/lib/apple_png.rb +5 -0
- metadata +2 -1
data/ext/apple_png/apple_png.c
CHANGED
@@ -195,7 +195,13 @@ static int readPngChunks(VALUE self, const char *oldPNG, size_t oldPngLength, dy
|
|
195
195
|
return APPLE_PNG_OK;
|
196
196
|
}
|
197
197
|
|
198
|
-
/*
|
198
|
+
/*
|
199
|
+
@!visibility protected
|
200
|
+
Convert an Apple PNG data string to a standard PNG data string
|
201
|
+
@note This sets #width and #height on the ApplePng instance as a side effect
|
202
|
+
@param data [String] Binary string containing Apple PNG data
|
203
|
+
@return [String] Binary string containing standard PNG data
|
204
|
+
*/
|
199
205
|
static VALUE ApplePng_convert_apple_png(VALUE self, VALUE data) {
|
200
206
|
int error;
|
201
207
|
VALUE ret;
|
@@ -229,7 +235,12 @@ static VALUE ApplePng_convert_apple_png(VALUE self, VALUE data) {
|
|
229
235
|
return ret;
|
230
236
|
}
|
231
237
|
|
232
|
-
/*
|
238
|
+
/*
|
239
|
+
@!visibility protected
|
240
|
+
Get the width and height from PNG data without actually converting it.
|
241
|
+
@note This sets #width and #height on the ApplePng instance.
|
242
|
+
@param data [String] Binary string containing Apple PNG data
|
243
|
+
*/
|
233
244
|
static VALUE ApplePng_get_dimensions(VALUE self, VALUE data) {
|
234
245
|
const char *oldPNG = StringValuePtr(data);
|
235
246
|
size_t oldPNG_length = RSTRING_LEN(data);
|
@@ -260,6 +271,6 @@ static VALUE ApplePng_get_dimensions(VALUE self, VALUE data) {
|
|
260
271
|
|
261
272
|
void Init_apple_png(void) {
|
262
273
|
VALUE klass = rb_define_class("ApplePng", rb_cObject);
|
263
|
-
|
264
|
-
|
274
|
+
rb_define_protected_method(klass, "convert_apple_png", ApplePng_convert_apple_png, 1);
|
275
|
+
rb_define_protected_method(klass, "get_dimensions", ApplePng_get_dimensions, 1);
|
265
276
|
}
|
data/lib/apple_png.rb
CHANGED
@@ -3,14 +3,19 @@ require 'apple_png/apple_png'
|
|
3
3
|
class ApplePng
|
4
4
|
attr_accessor :width, :height
|
5
5
|
|
6
|
+
# Create a new ApplePng instance from Apple PNG data in a string
|
7
|
+
# @param apple_png_data [String] Binary string containing Apple PNG data, probably read from a file
|
6
8
|
def initialize(apple_png_data)
|
7
9
|
self.get_dimensions(apple_png_data)
|
8
10
|
@raw_data = apple_png_data
|
9
11
|
end
|
10
12
|
|
13
|
+
# Get the PNG data as string. The conversion from Apple PNG data to standard PNG data will be performed when this method is first called.
|
14
|
+
# @return [String] Binary string containing standard PNG data
|
11
15
|
def data
|
12
16
|
if @data.nil?
|
13
17
|
@data = self.convert_apple_png(@raw_data)
|
18
|
+
@raw_data = nil
|
14
19
|
end
|
15
20
|
return @data
|
16
21
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apple_png
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -47,3 +47,4 @@ signing_key:
|
|
47
47
|
specification_version: 3
|
48
48
|
summary: Converts the Apple PNG format to standard PNG
|
49
49
|
test_files: []
|
50
|
+
has_rdoc:
|