special_input_device 0.0.0 → 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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/ext/special_input_device/color.c +25 -6
  3. data/ext/special_input_device/color.h +5 -1
  4. data/ext/special_input_device/extconf.rb +2 -2
  5. data/ext/special_input_device/image.c +728 -0
  6. data/ext/special_input_device/image.h +8 -0
  7. data/ext/special_input_device/{interception_connector.c → interception.c} +7 -3
  8. data/ext/special_input_device/{interception_connector.h → interception.h} +0 -0
  9. data/ext/special_input_device/keyboard.c +4 -4
  10. data/ext/special_input_device/mouse.c +26 -28
  11. data/ext/special_input_device/ruby_macro.h +11 -3
  12. data/ext/special_input_device/screen.c +54 -164
  13. data/ext/special_input_device/special_input_device.c +2 -2
  14. data/ext/special_input_device/special_input_device.h +2 -1
  15. data/ext/special_input_device/win32error.c +0 -2
  16. data/ext/special_input_device/window.c +82 -105
  17. data/lib/special_input_device/color.rb +2 -3
  18. data/lib/special_input_device/image.rb +2 -61
  19. data/lib/special_input_device/point.rb +0 -1
  20. data/lib/special_input_device/special_input_device.rb +0 -1
  21. metadata +7 -15
  22. data/lib/special_input_device/image/bmp.rb +0 -89
  23. data/lib/special_input_device/image/error/damaged_image_error.rb +0 -4
  24. data/lib/special_input_device/image/error/image_error.rb +0 -3
  25. data/lib/special_input_device/image/error/unsupported_image_format_error.rb +0 -4
  26. data/lib/special_input_device/table_2d.rb +0 -157
  27. data/stab/keyboard.rb +0 -35
  28. data/stab/mouse.rb +0 -189
  29. data/stab/screen.rb +0 -56
  30. data/stab/win32_error.rb +0 -20
  31. data/stab/window.rb +0 -398
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ef8f13accf6820c844dd6e53dcc893ef9ffd75a6
4
- data.tar.gz: bfcb2590e5bacab820f881f9b7b208f177420319
3
+ metadata.gz: b44c0a6bb776cfd6e6119e3bcfdbf996c4f171bc
4
+ data.tar.gz: f7fd051facd9a1e21472ab1d20e61a052d0276e2
5
5
  SHA512:
6
- metadata.gz: 9fb1a9fe52cd87db760c2ebcd55386fddc11cedf369590d7d2347926e91b37fd468f2a1d85cf57f3876cbf564a3f185d52968712d41e1eff9a6b2ec145a72162
7
- data.tar.gz: 6be975f6a7d6d6436ece1215155586cc27d86184accaddf003def672008a3094f36ef32e08fe84081da818da1d7f2f7881081fadae71622eefac1cb75fa77db8
6
+ metadata.gz: 3f46cf44515c0ee093b00a3527cefe3776ddcddfa393a4f56e48ce90dd810400128dee1d3ea8e50ae44fc70bb5014ba269b1343766249526126d32767bcf6ee7
7
+ data.tar.gz: c131d93e96fc5e5193ba57a7b57ef88e99dce999d7faca7aeb7bb37798e996660467013a3087f5682391ba96452220c300e05d13be85aca6b5d0a9cc3f6b002e
@@ -1,19 +1,20 @@
1
1
  #include "special_input_device.h"
2
2
  #include "color.h"
3
3
 
4
- VALUE ruby___color_new(INT cRed, INT cGreen, INT cBlue) {
5
- VALUE newColorArguments[3];
4
+ VALUE ruby___color_new(INT cRed, INT cGreen, INT cBlue, INT cAlpha) {
5
+ VALUE newColorArguments[4];
6
6
  newColorArguments[0] = INT2NUM(cRed);
7
7
  newColorArguments[1] = INT2NUM(cGreen);
8
8
  newColorArguments[2] = INT2NUM(cBlue);
9
- return rb_class_new_instance(3, newColorArguments, specialInputDevice_color);
9
+ newColorArguments[3] = INT2NUM(cAlpha);
10
+ return rb_class_new_instance(4, newColorArguments, specialInputDevice_color);
10
11
  }
11
12
 
12
13
  VALUE ruby___color_new_from_color_ref(COLORREF cColor) {
13
14
  VALUE newColorArguments[3];
14
- newColorArguments[0] = INT2NUM(GetRValue(cColor));
15
- newColorArguments[1] = INT2NUM(GetGValue(cColor));
16
- newColorArguments[2] = INT2NUM(GetBValue(cColor));
15
+ newColorArguments[0] = INT2FIX(GetRValue(cColor));
16
+ newColorArguments[1] = INT2FIX(GetGValue(cColor));
17
+ newColorArguments[2] = INT2FIX(GetBValue(cColor));
17
18
  return rb_class_new_instance(3, newColorArguments, specialInputDevice_color);
18
19
  }
19
20
 
@@ -23,3 +24,21 @@ COLORREF ruby___color_to_color_ref(VALUE color) {
23
24
  BYTE cBlue = (BYTE) FIX2UINT(rb_iv_get(color, "@blue"));
24
25
  return RGB(cRed, cGreen, cBlue);
25
26
  }
27
+
28
+ VALUE ruby___color_new_from_rgb_quad(RGBQUAD *cColor) {
29
+ VALUE newColorArguments[4];
30
+ newColorArguments[0] = INT2FIX(cColor->rgbRed);
31
+ newColorArguments[1] = INT2FIX(cColor->rgbGreen);
32
+ newColorArguments[2] = INT2FIX(cColor->rgbBlue);
33
+ newColorArguments[3] = INT2FIX(cColor->rgbReserved);
34
+ return rb_class_new_instance(4, newColorArguments, specialInputDevice_color);
35
+ }
36
+
37
+ RGBQUAD ruby___color_to_rgb_quad(VALUE color) {
38
+ RGBQUAD result;
39
+ result.rgbRed = (BYTE) FIX2UINT(rb_iv_get(color, "@red"));
40
+ result.rgbGreen = (BYTE) FIX2UINT(rb_iv_get(color, "@green"));
41
+ result.rgbBlue = (BYTE) FIX2UINT(rb_iv_get(color, "@blue"));
42
+ result.rgbReserved = (BYTE) FIX2UINT(rb_iv_get(color, "@alpha"));
43
+ return result;
44
+ }
@@ -1,10 +1,14 @@
1
1
  #ifndef SPECIAL_INPUT_DEVICE_COLOR_H
2
2
  #define SPECIAL_INPUT_DEVICE_COLOR_H
3
3
 
4
- VALUE ruby___color_new(INT cRed, INT cGreen, INT cBlue);
4
+ VALUE ruby___color_new(INT cRed, INT cGreen, INT cBlue, INT cAlpha);
5
5
 
6
6
  VALUE ruby___color_new_from_color_ref(COLORREF cColor);
7
7
 
8
8
  COLORREF ruby___color_to_color_ref(VALUE color);
9
9
 
10
+ VALUE ruby___color_new_from_rgb_quad(RGBQUAD *cColor);
11
+
12
+ RGBQUAD ruby___color_to_rgb_quad(VALUE color);
13
+
10
14
  #endif //SPECIAL_INPUT_DEVICE_COLOR_H
@@ -1,6 +1,6 @@
1
1
  require('mkmf')
2
2
  abort('only for windows.') unless have_header('windows.h')
3
3
  abort('gdi32.lib not found.') unless have_library('gdi32')
4
- $defs.push('-DINTERCEPTION_STATIC')
5
- $defs.push('-DUNICODE')
4
+ $defs.push('-D' + 'INTERCEPTION_STATIC')
5
+ $defs.push('-D' + 'UNICODE')
6
6
  create_makefile('special_input_device')