imsg-grep 0.1.5-darwin → 0.1.6.pre-darwin
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 +4 -4
- data/bin/imsg-grep +0 -1
- data/bin/msg-info +0 -2
- data/bin/sql-shell +0 -2
- data/lib/imsg-grep/VERSION +1 -1
- data/lib/imsg-grep/images/img2png.rb +23 -21
- metadata +60 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40b1912c5695bdf6be658c8d149f5ff994b779116d3005e8e8efa53e8eb4f299
|
|
4
|
+
data.tar.gz: d01d37b5ec34c20eaaaaa013a3175ffd4eff37313379fdcda2b39944ca74f827
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ba85f02f8e8b742387049b381a042caa136da0cea1f78b622ee1fa5916e81c6be0a6755173e880276a692fd8b1c8ab17975759067b16c713090baf120c9b9ea9
|
|
7
|
+
data.tar.gz: 23df2fbe2ea59d443f7346faeb66dc805724ef65aacf29a79c86d8612bba84d590f7b00af4d32ed51f0bfefd98f926f07014b1986ebb824eeab1abfa89045fb5
|
data/bin/imsg-grep
CHANGED
data/bin/msg-info
CHANGED
data/bin/sql-shell
CHANGED
data/lib/imsg-grep/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.6.pre
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
require "
|
|
1
|
+
require "fiddle"
|
|
2
|
+
require "fiddle/import"
|
|
2
3
|
|
|
3
4
|
module Img2png
|
|
4
|
-
extend
|
|
5
|
-
ffi_lib "#{__dir__}/img2png.dylib"
|
|
5
|
+
extend Fiddle::Importer
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
dlload "#{__dir__}/img2png.dylib"
|
|
8
|
+
|
|
9
|
+
extern "void* img2png_load_path(char*, int*, int*)"
|
|
10
|
+
extern "void* img2png_load(void*, int, int*, int*)"
|
|
11
|
+
extern "int img2png_convert(void*, int, int, int, int, void**, int*)"
|
|
12
|
+
extern "void img2png_release(void*)"
|
|
13
|
+
extern "void img2png_free(void*)"
|
|
12
14
|
|
|
13
15
|
class Image
|
|
14
|
-
def initialize(path:nil, data:nil)
|
|
16
|
+
def initialize(path: nil, data: nil)
|
|
15
17
|
[path, data].compact.size == 1 or raise ArgumentError, "One of path: or data: must be specified"
|
|
16
|
-
out_w =
|
|
17
|
-
out_h =
|
|
18
|
+
out_w = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT)
|
|
19
|
+
out_h = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT)
|
|
18
20
|
|
|
19
21
|
@handle = case
|
|
20
22
|
when data then Img2png.img2png_load(data, data.bytesize, out_w, out_h)
|
|
@@ -22,15 +24,15 @@ module Img2png
|
|
|
22
24
|
end
|
|
23
25
|
raise "Failed to load image" if @handle.null?
|
|
24
26
|
|
|
25
|
-
@width = out_w.
|
|
26
|
-
@height = out_h.
|
|
27
|
+
@width = out_w[0, Fiddle::SIZEOF_INT].unpack1("i")
|
|
28
|
+
@height = out_h[0, Fiddle::SIZEOF_INT].unpack1("i")
|
|
27
29
|
end
|
|
28
30
|
|
|
29
31
|
def dimensions = [@width, @height]
|
|
30
32
|
|
|
31
33
|
def convert(fit_w: nil, fit_h: nil, box_w: nil, box_h: nil)
|
|
32
|
-
out_data =
|
|
33
|
-
out_len =
|
|
34
|
+
out_data = Fiddle::Pointer.malloc(Fiddle::SIZEOF_VOIDP)
|
|
35
|
+
out_len = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT)
|
|
34
36
|
|
|
35
37
|
success = Img2png.img2png_convert(
|
|
36
38
|
@handle,
|
|
@@ -39,18 +41,18 @@ module Img2png
|
|
|
39
41
|
out_data, out_len
|
|
40
42
|
)
|
|
41
43
|
|
|
42
|
-
return nil
|
|
44
|
+
return nil if success == 0
|
|
43
45
|
|
|
44
|
-
ptr = out_data.
|
|
45
|
-
len = out_len.
|
|
46
|
-
result = ptr
|
|
46
|
+
ptr = Fiddle::Pointer.new(out_data[0, Fiddle::SIZEOF_VOIDP].unpack1("J"))
|
|
47
|
+
len = out_len[0, Fiddle::SIZEOF_INT].unpack1("i")
|
|
48
|
+
result = ptr[0, len]
|
|
47
49
|
Img2png.img2png_free(ptr)
|
|
48
50
|
result
|
|
49
51
|
end
|
|
50
52
|
|
|
51
53
|
def release
|
|
52
54
|
Img2png.img2png_release(@handle) unless @handle.null?
|
|
53
|
-
@handle =
|
|
55
|
+
@handle = Fiddle::NULL
|
|
54
56
|
end
|
|
55
57
|
|
|
56
58
|
def self.finalize(handle)
|
|
@@ -63,7 +65,7 @@ end
|
|
|
63
65
|
# input = File.binread("x.heic")
|
|
64
66
|
|
|
65
67
|
# # Load once, use multiple times
|
|
66
|
-
# img = Img2png::Image.new(input)
|
|
68
|
+
# img = Img2png::Image.new(data: input)
|
|
67
69
|
|
|
68
70
|
# # Get dimensions
|
|
69
71
|
# p img.dimensions # => [4032, 3024]
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: imsg-grep
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.6.pre
|
|
5
5
|
platform: darwin
|
|
6
6
|
authors:
|
|
7
7
|
- Caio Chassot
|
|
@@ -10,19 +10,61 @@ cert_chain: []
|
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
|
-
name:
|
|
13
|
+
name: base64
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '
|
|
18
|
+
version: '0.3'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '
|
|
25
|
+
version: '0.3'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: fiddle
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 1.1.8
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: 1.1.8
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: io-console
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0.8'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0.8'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: json
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '2.17'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '2.17'
|
|
26
68
|
- !ruby/object:Gem::Dependency
|
|
27
69
|
name: sqlite3
|
|
28
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -79,6 +121,20 @@ dependencies:
|
|
|
79
121
|
- - "~>"
|
|
80
122
|
- !ruby/object:Gem::Version
|
|
81
123
|
version: '1.3'
|
|
124
|
+
- !ruby/object:Gem::Dependency
|
|
125
|
+
name: debug
|
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
|
127
|
+
requirements:
|
|
128
|
+
- - "~>"
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: '1.11'
|
|
131
|
+
type: :development
|
|
132
|
+
prerelease: false
|
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
135
|
+
- - "~>"
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: '1.11'
|
|
82
138
|
- !ruby/object:Gem::Dependency
|
|
83
139
|
name: minitest
|
|
84
140
|
requirement: !ruby/object:Gem::Requirement
|