rszr 0.4.0 → 0.8.0

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.
metadata CHANGED
@@ -1,131 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rszr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-05 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.9'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.9'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '10.0'
41
- - !ruby/object:Gem::Dependency
42
- name: byebug
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: simplecov
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: gd2-ffij
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: mini_magick
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
11
+ date: 2021-10-08 00:00:00.000000000 Z
12
+ dependencies: []
111
13
  description: Fast image resizer - do one thing and do it fast.
112
14
  email:
113
15
  - mtgrosser@gmx.net
114
16
  executables: []
115
- extensions: []
17
+ extensions:
18
+ - ext/rszr/extconf.rb
116
19
  extra_rdoc_files: []
117
20
  files:
21
+ - lib/rszr/batch_transformation.rb
22
+ - lib/rszr/buffered.rb
23
+ - lib/rszr/identification.rb
24
+ - lib/rszr/image.rb
25
+ - lib/rszr/image_processing.rb
26
+ - lib/rszr/orientation.rb
27
+ - lib/rszr/stream.rb
28
+ - lib/rszr/version.rb
29
+ - lib/rszr.rb
30
+ - ext/rszr/extconf.rb
31
+ - ext/rszr/errors.h
32
+ - ext/rszr/image.h
33
+ - ext/rszr/rszr.h
34
+ - ext/rszr/errors.c
35
+ - ext/rszr/image.c
36
+ - ext/rszr/rszr.c
118
37
  - LICENSE
119
38
  - README.md
120
39
  - Rakefile
121
- - lib/rszr.rb
122
- - lib/rszr/base.rb
123
- - lib/rszr/errors.rb
124
- - lib/rszr/handle.rb
125
- - lib/rszr/image.rb
126
- - lib/rszr/lib.rb
127
- - lib/rszr/lock.rb
128
- - lib/rszr/version.rb
129
40
  homepage: https://github.com/mtgrosser/rszr
130
41
  licenses:
131
42
  - MIT
@@ -134,19 +45,21 @@ post_install_message:
134
45
  rdoc_options: []
135
46
  require_paths:
136
47
  - lib
48
+ - ext
137
49
  required_ruby_version: !ruby/object:Gem::Requirement
138
50
  requirements:
139
- - - ">="
51
+ - - '>='
140
52
  - !ruby/object:Gem::Version
141
53
  version: '0'
142
54
  required_rubygems_version: !ruby/object:Gem::Requirement
143
55
  requirements:
144
- - - ">="
56
+ - - '>='
145
57
  - !ruby/object:Gem::Version
146
58
  version: '0'
147
- requirements: []
59
+ requirements:
60
+ - imlib2
148
61
  rubyforge_project:
149
- rubygems_version: 2.5.2.3
62
+ rubygems_version: 2.0.14.1
150
63
  signing_key:
151
64
  specification_version: 4
152
65
  summary: Fast image resizer
data/lib/rszr/base.rb DELETED
@@ -1,29 +0,0 @@
1
- module Rszr
2
- module Base
3
-
4
- def self.included(base)
5
- Rszr::Lib.delegate(base)
6
- Rszr::Lib.delegate(base.singleton_class)
7
- base.include(Lock)
8
- base.extend(Lock)
9
- end
10
-
11
- protected
12
-
13
- def handle
14
- @handle
15
- end
16
-
17
- def ptr
18
- @handle.ptr
19
- end
20
-
21
- private
22
-
23
- def assert_valid_keys(hsh, *valid_keys)
24
- if unknown_key = (hsh.keys - valid_keys).first
25
- raise ArgumentError.new("Unknown key: #{unknown_key.inspect}. Valid keys are: #{valid_keys.map(&:inspect).join(', ')}")
26
- end
27
- end
28
- end
29
- end
data/lib/rszr/errors.rb DELETED
@@ -1,42 +0,0 @@
1
- module Rszr
2
- class Error < StandardError; end
3
-
4
- class ErrorWithMessage < Error
5
- MESSAGES = [nil,
6
- 'File does not exist',
7
- 'File is a directory',
8
- 'Read permission denied',
9
- 'Unsupported format',
10
- 'Path too long',
11
- 'Non-existant path component',
12
- 'Path component is not a directory',
13
- 'Path outside address space',
14
- 'Too many symbolic links',
15
- 'Out of memory',
16
- 'Out of file descriptors',
17
- 'Write permission denied',
18
- 'Out of disk space',
19
- 'Unknown error']
20
-
21
- attr_reader :ptr
22
-
23
- def initialize
24
- @ptr = Fiddle::Pointer.malloc(Rszr::Lib.sizeof('Imlib_Load_Error'))
25
- end
26
-
27
- def error?
28
- return if ptr.null?
29
- 0 != ptr[0]
30
- end
31
-
32
- def message
33
- MESSAGES[ptr[0]] unless ptr.null?
34
- end
35
- end
36
-
37
-
38
- class FileNotFound < Error; end
39
- class LoadError < ErrorWithMessage; end
40
- class TransformationError < Error; end
41
- class SaveError < ErrorWithMessage; end
42
- end
data/lib/rszr/handle.rb DELETED
@@ -1,37 +0,0 @@
1
- module Rszr
2
- class Handle
3
- attr_reader :ptr, :klass
4
-
5
- def initialize(obj, ptr)
6
- @ptr = ptr
7
- raise ArgumentError, "#{obj.class.inspect} does not define the finalize class method" unless obj.class.respond_to?(:finalize, true)
8
- @klass = obj.class
9
- ObjectSpace.define_finalizer(obj, self)
10
- end
11
-
12
- def replace!(other_ptr)
13
- raise ArgumentError, "Cannot replace pointer with itself" if ptr == other_ptr
14
- finalize!
15
- @ptr = other_ptr
16
- end
17
-
18
- def finalize!(*args)
19
- #puts "Finalizing #{args.inspect} #{ptr.inspect}"
20
- if !ptr.null? && klass
21
- #puts " calling #{args.inspect}"
22
- klass.send(:finalize, ptr)
23
- @ptr = Fiddle::Pointer.new(0)
24
- #else
25
- #puts " skipping #{args.inspect}"
26
- end
27
- end
28
-
29
- def release!
30
- replace! Fiddle::Pointer.new(0)
31
- end
32
-
33
- def call(object_id)
34
- finalize!(object_id)
35
- end
36
- end
37
- end
data/lib/rszr/lib.rb DELETED
@@ -1,73 +0,0 @@
1
- module Rszr
2
-
3
- module Lib
4
- extend Fiddle::Importer
5
-
6
- library, message = case RbConfig::CONFIG['arch']
7
- when /darwin/ then ['libImlib2.dylib', 'brew install imlib2']
8
- when /mswin/, /cygwin/ then ['imlib2.dll', nil]
9
- else
10
- ['libImlib2.so', "yum install imlib2 imlib2-devel\napt-get install libimlib2 libimlib2-dev"]
11
- end
12
-
13
- begin
14
- dlload library
15
- rescue Fiddle::DLError => e
16
- print "\n The Imlib2 library could not be loaded. "
17
- puts "You can install it using\n\n #{message}\n" if message
18
- puts ''
19
- raise e
20
- end
21
-
22
- typealias 'Imlib_Image', 'void *'
23
- typealias 'Imlib_Context', 'void *'
24
- typealias 'enum', 'int'
25
- typealias 'Imlib_Load_Error', 'enum'
26
-
27
- #typedef void *Imlib_Color_Modifier;
28
- #typedef void *Imlib_Updates;
29
- #typedef void *Imlib_Font;
30
- #typedef void *Imlib_Color_Range;
31
- #typedef void *Imlib_Filter;
32
- #typedef struct _imlib_border Imlib_Border;
33
- #typedef struct _imlib_color Imlib_Color;
34
- #typedef void *ImlibPolygon;
35
-
36
- extern 'int imlib_get_cache_size()'
37
- extern 'void imlib_set_cache_size(int)'
38
-
39
- extern 'Imlib_Image imlib_load_image(const char *)'
40
- extern 'Imlib_Image imlib_load_image_without_cache(const char *)'
41
- extern 'Imlib_Image imlib_load_image_with_error_return(const char *, Imlib_Load_Error *)'
42
- extern 'Imlib_Image imlib_create_image(int, int)'
43
- extern 'void imlib_context_set_image(Imlib_Image)'
44
- extern 'int imlib_image_get_width()'
45
- extern 'int imlib_image_get_height()'
46
- extern 'void imlib_context_set_anti_alias(char)'
47
-
48
- # source_x, source_y, source_width, source_height, destination_width, destination_height
49
- extern 'Imlib_Image imlib_create_cropped_scaled_image(int, int, int, int, int, int)'
50
- # x, y, width, height
51
- extern 'Imlib_Image imlib_create_cropped_image(int, int, int, int)'
52
-
53
- extern 'char * imlib_image_format()'
54
- extern 'void imlib_image_set_format(const char *)'
55
- extern 'void imlib_save_image(const char *)'
56
- extern 'void imlib_save_image_with_error_return(const char *, Imlib_Load_Error *)'
57
-
58
- extern 'void imlib_free_image()'
59
- extern 'void imlib_free_image_and_decache()'
60
-
61
- def self.delegate(base)
62
- Lib.methods.grep(/\Aimlib_/).each do |method|
63
- line_no = __LINE__; str = %Q{
64
- def #{method}(*args, &block)
65
- Lib.#{method}(*args, &block)
66
- end
67
- }
68
- base.class_eval(str, __FILE__, line_no)
69
- end
70
- end
71
-
72
- end
73
- end
data/lib/rszr/lock.rb DELETED
@@ -1,23 +0,0 @@
1
- module Rszr
2
- @mutex = Mutex.new
3
-
4
- class << self
5
-
6
- def with_lock(&block) # :nodoc:
7
- mutex.synchronize(&block)
8
- end
9
-
10
- private
11
-
12
- def mutex
13
- @mutex
14
- end
15
- end
16
-
17
- module Lock # :nodoc:
18
- def with_lock(&block)
19
- Rszr.with_lock(&block)
20
- end
21
- end
22
-
23
- end