rusty_engine_ffi 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: cd5f7a3d09b7dfff021437e8f57829b9542706d48c082f66364a66cdcf175c75
4
+ data.tar.gz: 9295001fbdf5f8470a944b9c12c6e6b68765580e4ded626e7f952f98e7233d8a
5
+ SHA512:
6
+ metadata.gz: b60991899f14b7e61fa663ca5d52f76a24dc79ae52d758b374a6a7a9e00b391c4c2e973ab33d78402d96c34265c7e71c5681f3e034ea18f463833d04c516e3ff
7
+ data.tar.gz: ee75b1a011e85951478f689d9e18dbae5f12ae0f70742b185a757774c1d1140a9cba13a7963d52715d93598da7bdeacc4a1a09e8721103c824255305b0a8c11e
Binary file
Binary file
Binary file
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ffi'
4
+
5
+ # main file for Rusty Engine gem
6
+ module RustyEngine
7
+ extend FFI::Library
8
+ VERSION = '0.0.1'
9
+
10
+ lib_name = "bin/librusty_engine.#{FFI::Platform::LIBSUFFIX}"
11
+ ffi_lib File.expand_path(lib_name, __dir__)
12
+
13
+ # Convert png and jpg images
14
+ # @param input_image [String]
15
+ # @param output_image [String]
16
+ attach_function :convert, %i[string string], :void, { blocking: true }
17
+
18
+ # Apply brush algorithm to given image
19
+ # Params : input, output, proba, min, max, direction
20
+ # @param input_image [String]
21
+ # @param output_image [String]
22
+ # @param probability [String] should be between '0' and '100'
23
+ # @param min [String] should be between '0' and the max param
24
+ # @param max [String] should be above the min param
25
+ # @param directions [String] '1' -> horizontal
26
+ # '2' -> vertical
27
+ # '3' -> horizontal_inverted
28
+ # '4' -> vertical_inverted
29
+ attach_function :brush, %i[string string string string string string], :void, { blocking: true }
30
+
31
+ # Apply slim algorithm to given image
32
+ # Params : input, output, proba, probability_area, direction, colors, colors_proba
33
+ # @param input_image [String]
34
+ # @param output_image [String]
35
+ # @param probability [String] should be between '0' and '100'
36
+ # @param probability_area [String] either 'global' or 'local'
37
+ # @param directions [String] '1' -> up_to_down
38
+ # '2' -> down_to_up
39
+ # '3' -> left_to_right
40
+ # '4' -> right_to_left
41
+ # @param colors [String]
42
+ # @param colors_proba [String]
43
+ attach_function :slim, %i[string string string string string string string], :void, { blocking: true }
44
+
45
+ # Pixel sort the given image
46
+ # Params : input, output, direction, smart_sorting, detection_type, min, max, multiple_range, min_2, max_2, sorting_by
47
+ # @param input_image [String]
48
+ # @param output_image [String]
49
+ # @param directions [String] 0 -> up_to_down
50
+ # 1 -> down_to_up
51
+ # 2 -> left_to_right
52
+ # 3 -> right_to_left
53
+ # @param smart_sorting [String] 'true' or 'false'
54
+ # @param detection_type [String] 0 -> hues
55
+ # 1 -> colors
56
+ # @param min [String] should be between '0' and the max param
57
+ # @param max [String] should be above the min param
58
+ # @param multiple_range [String] 'true' or 'false'
59
+ # @param min_2 [String] should be between '0' and the max param
60
+ # @param max_2 [String] should be above the min param
61
+ # @param sorting_by [String] 0 -> hue
62
+ # 1 -> saturation
63
+ attach_function :sort, %i[string string string string string string string string string string string],
64
+ :void, { blocking: true }
65
+ end
metadata ADDED
@@ -0,0 +1,79 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rusty_engine_ffi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Flo Girardo
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-05-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: yard
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.9'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.9'
41
+ description: |2
42
+ The Rust Engine is a tiny library written in rust to perform simple images manipulations.
43
+ For now the library included four functions :
44
+ - Image converter
45
+ - Pixel sorting
46
+ - Brush and Slim : two algorithms that will mess with the given image
47
+ email: florian@barbrousse.net
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - lib/bin/librusty_engine.dll
53
+ - lib/bin/librusty_engine.dylib
54
+ - lib/bin/librusty_engine.so
55
+ - lib/rusty_engine.rb
56
+ homepage: https://framagit.org/Radoteur/rusty_engine
57
+ licenses:
58
+ - MIT
59
+ metadata: {}
60
+ post_install_message:
61
+ rdoc_options: []
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ requirements: []
75
+ rubygems_version: 3.1.4
76
+ signing_key:
77
+ specification_version: 4
78
+ summary: Tiny and fast image manipulation library
79
+ test_files: []