fxruby 1.6.29-x86-mingw32 → 1.6.30-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.txt +11 -0
- data/Manifest.txt +5 -0
- data/Rakefile +8 -2
- data/examples/gltest.rb +0 -7
- data/examples/groupbox.rb +5 -3
- data/examples/thread.rb +55 -0
- data/ext/fox16_c/FXRbApp.cpp +67 -5
- data/ext/fox16_c/FXRuby.cpp +142 -110
- data/ext/fox16_c/extconf.rb +36 -28
- data/ext/fox16_c/gvl_wrappers.cpp +12 -0
- data/ext/fox16_c/include/FXRbApp.h +41 -6
- data/ext/fox16_c/include/FXRbBitmap.h +12 -12
- data/ext/fox16_c/include/FXRbCommon.h +3 -0
- data/ext/fox16_c/include/FXRbCursor.h +2 -2
- data/ext/fox16_c/include/FXRbDC.h +62 -62
- data/ext/fox16_c/include/FXRbDialogBox.h +2 -2
- data/ext/fox16_c/include/FXRbDockBar.h +3 -3
- data/ext/fox16_c/include/FXRbDockSite.h +4 -4
- data/ext/fox16_c/include/FXRbDrawable.h +1 -1
- data/ext/fox16_c/include/FXRbFileDict.h +3 -3
- data/ext/fox16_c/include/FXRbFoldingList.h +28 -28
- data/ext/fox16_c/include/FXRbFont.h +18 -18
- data/ext/fox16_c/include/FXRbGLCanvas.h +4 -4
- data/ext/fox16_c/include/FXRbGLObject.h +8 -8
- data/ext/fox16_c/include/FXRbGLShape.h +1 -1
- data/ext/fox16_c/include/FXRbGLViewer.h +3 -3
- data/ext/fox16_c/include/FXRbHeader.h +7 -7
- data/ext/fox16_c/include/FXRbIconList.h +28 -28
- data/ext/fox16_c/include/FXRbIconSource.h +12 -12
- data/ext/fox16_c/include/FXRbId.h +3 -3
- data/ext/fox16_c/include/FXRbImage.h +19 -19
- data/ext/fox16_c/include/FXRbList.h +21 -21
- data/ext/fox16_c/include/FXRbListBox.h +1 -1
- data/ext/fox16_c/include/FXRbMDIChild.h +4 -4
- data/ext/fox16_c/include/FXRbMDIClient.h +4 -4
- data/ext/fox16_c/include/FXRbObject.h +2 -2
- data/ext/fox16_c/include/FXRbPopup.h +2 -2
- data/ext/fox16_c/include/FXRbRealSpinner.h +1 -1
- data/ext/fox16_c/include/FXRbScrollArea.h +4 -4
- data/ext/fox16_c/include/FXRbShutter.h +1 -1
- data/ext/fox16_c/include/FXRbSpinner.h +1 -1
- data/ext/fox16_c/include/FXRbStream.h +3 -3
- data/ext/fox16_c/include/FXRbTabBar.h +1 -1
- data/ext/fox16_c/include/FXRbTable.h +53 -53
- data/ext/fox16_c/include/FXRbText.h +23 -23
- data/ext/fox16_c/include/FXRbTopWindow.h +5 -5
- data/ext/fox16_c/include/FXRbTranslator.h +1 -1
- data/ext/fox16_c/include/FXRbTreeList.h +28 -28
- data/ext/fox16_c/include/FXRbTreeListBox.h +1 -1
- data/ext/fox16_c/include/FXRbWindow.h +31 -31
- data/ext/fox16_c/include/FXRuby.h +200 -94
- data/ext/fox16_c/include/gvl_wrappers.h +594 -0
- data/lib/1.8/fox16_c.so +0 -0
- data/lib/1.9/fox16_c.so +0 -0
- data/lib/2.0/fox16_c.so +0 -0
- data/lib/2.1/fox16_c.so +0 -0
- data/lib/2.2/fox16_c.so +0 -0
- data/lib/fox16.rb +1 -0
- data/lib/fox16/thread.rb +51 -0
- data/lib/fox16/version.rb +1 -1
- data/lib/x86-mingw32/libFOX-1.6-0.dll +0 -0
- data/lib/x86-mingw32/libfxscintilla-20.dll +0 -0
- data/lib/x86-mingw32/libgcc_s_sjlj-1.dll +0 -0
- data/lib/x86-mingw32/libjpeg-8.dll +0 -0
- data/lib/x86-mingw32/libpng15-15.dll +0 -0
- data/lib/x86-mingw32/libstdc++-6.dll +0 -0
- data/lib/x86-mingw32/libtiff-5.dll +0 -0
- data/lib/x86-mingw32/libwinpthread-1.dll +0 -0
- data/lib/x86-mingw32/zlib1.dll +0 -0
- data/rdoc-sources/FXApp.rb +5 -0
- data/rdoc-sources/FXId.rb +5 -0
- data/swig-interfaces/FXApp.i +14 -78
- data/swig-interfaces/macros.i +56 -0
- data/test/TC_FXApp.rb +60 -10
- data/test/TC_FXJPGImage.rb +47 -0
- metadata +24 -103
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/lib/1.8/fox16_c.so
CHANGED
Binary file
|
data/lib/1.9/fox16_c.so
CHANGED
Binary file
|
data/lib/2.0/fox16_c.so
CHANGED
Binary file
|
data/lib/2.1/fox16_c.so
CHANGED
Binary file
|
data/lib/2.2/fox16_c.so
CHANGED
Binary file
|
data/lib/fox16.rb
CHANGED
data/lib/fox16/thread.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'thread'
|
2
|
+
|
3
|
+
module Fox
|
4
|
+
|
5
|
+
class FXApp
|
6
|
+
|
7
|
+
alias initialize_before_thread initialize # :nodoc:
|
8
|
+
|
9
|
+
def initialize(*args, &block)
|
10
|
+
initialize_before_thread(*args, &block)
|
11
|
+
event_handler_setup
|
12
|
+
end
|
13
|
+
|
14
|
+
def runOnUiThread(&block)
|
15
|
+
@event_handler_events << block
|
16
|
+
@event_handler_pwr.write 'e' if @event_handler_pwr
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def event_handler_setup
|
22
|
+
if RUBY_PLATFORM =~ /mingw|mswin/i
|
23
|
+
require 'socket'
|
24
|
+
gs = TCPServer.open('localhost', 0)
|
25
|
+
prd = TCPSocket.open('localhost', gs.addr[1])
|
26
|
+
pwr = gs.accept
|
27
|
+
gs.close
|
28
|
+
else
|
29
|
+
prd, pwr = IO.pipe
|
30
|
+
end
|
31
|
+
self.addInput(prd, Fox::INPUT_READ){ event_handler_pull(prd) }
|
32
|
+
@event_handler_pwr = pwr
|
33
|
+
@event_handler_events = Queue.new
|
34
|
+
end
|
35
|
+
|
36
|
+
def event_handler_pull(prd)
|
37
|
+
prd.read(1) if prd
|
38
|
+
while !@event_handler_events.empty?
|
39
|
+
ev = @event_handler_events.shift
|
40
|
+
ev.call
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end # class FXApp
|
45
|
+
|
46
|
+
class FXId
|
47
|
+
def runOnUiThread(&block)
|
48
|
+
app.runOnUiThread(&block)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end # module Fox
|
data/lib/fox16/version.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/x86-mingw32/zlib1.dll
CHANGED
Binary file
|
data/rdoc-sources/FXApp.rb
CHANGED
@@ -538,5 +538,10 @@ module Fox
|
|
538
538
|
|
539
539
|
# Check to see if multithreaded applications are supported
|
540
540
|
def threadsEnabled?(); end
|
541
|
+
|
542
|
+
# Runs the specified block on the UI thread.
|
543
|
+
#
|
544
|
+
# The block is posted to the event queue of the UI thread.
|
545
|
+
def runOnUiThread(&block); end
|
541
546
|
end
|
542
547
|
end
|
data/rdoc-sources/FXId.rb
CHANGED
data/swig-interfaces/FXApp.i
CHANGED
@@ -357,18 +357,13 @@ public:
|
|
357
357
|
*/
|
358
358
|
bool addInput(VALUE obj,FXuint mode,FXObject *tgt,FXSelector sel){
|
359
359
|
FXInputHandle fd;
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
if(mode&INPUT_EXCEPT) m|=INPUT_EXCEPT;
|
364
|
-
fd=FXRbGetReadFileHandle(obj);
|
365
|
-
self->addInput(fd,m,tgt,sel);
|
360
|
+
if(mode&(INPUT_READ|INPUT_EXCEPT)){
|
361
|
+
fd=FXRbGetReadFileHandle(obj, mode);
|
362
|
+
self->addInput(fd,mode,tgt,sel);
|
366
363
|
}
|
367
|
-
if(mode&INPUT_WRITE){
|
368
|
-
|
369
|
-
|
370
|
-
fd=FXRbGetWriteFileHandle(obj);
|
371
|
-
self->addInput(fd,m,tgt,sel);
|
364
|
+
if(mode&(INPUT_WRITE|INPUT_EXCEPT)){
|
365
|
+
fd=FXRbGetWriteFileHandle(obj, mode);
|
366
|
+
self->addInput(fd,mode,tgt,sel);
|
372
367
|
}
|
373
368
|
return true;
|
374
369
|
}
|
@@ -379,18 +374,15 @@ public:
|
|
379
374
|
*/
|
380
375
|
bool removeInput(VALUE obj,FXuint mode){
|
381
376
|
FXInputHandle fd;
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
fd=FXRbGetReadFileHandle(obj);
|
387
|
-
self->removeInput(fd,m);
|
377
|
+
if(mode&INPUT_READ|INPUT_EXCEPT){
|
378
|
+
fd=FXRbGetReadFileHandle(obj, mode);
|
379
|
+
self->removeInput(fd,mode);
|
380
|
+
FXRbRemoveReadFileHandle(obj, mode);
|
388
381
|
}
|
389
|
-
if(mode&INPUT_WRITE){
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
self->removeInput(fd,m);
|
382
|
+
if(mode&(INPUT_WRITE|INPUT_EXCEPT)){
|
383
|
+
fd=FXRbGetWriteFileHandle(obj, mode);
|
384
|
+
self->removeInput(fd,mode);
|
385
|
+
FXRbRemoveWriteFileHandle(obj, mode);
|
394
386
|
}
|
395
387
|
return true;
|
396
388
|
}
|
@@ -402,62 +394,6 @@ public:
|
|
402
394
|
/// Peek to determine if there's an event
|
403
395
|
bool peekEvent();
|
404
396
|
|
405
|
-
/// Perform one event dispatch; return true if event was dispatched
|
406
|
-
bool runOneEvent(bool blocking=true);
|
407
|
-
|
408
|
-
/**
|
409
|
-
* Run the main application event loop until stop() is called,
|
410
|
-
* and return the exit code passed as argument to stop().
|
411
|
-
*/
|
412
|
-
FXint run();
|
413
|
-
|
414
|
-
/**
|
415
|
-
* Run an event loop till some flag becomes non-zero, and
|
416
|
-
* then return.
|
417
|
-
*/
|
418
|
-
FXint runUntil(FXuint& condition); // FIXME
|
419
|
-
|
420
|
-
/**
|
421
|
-
* Run event loop while events are available, non-modally.
|
422
|
-
* Return when no more events, timers, or chores are outstanding.
|
423
|
-
*/
|
424
|
-
FXint runWhileEvents();
|
425
|
-
|
426
|
-
/**
|
427
|
-
* Run event loop while there are events are available in the queue.
|
428
|
-
* Returns 1 when all events in the queue have been handled, and 0 when
|
429
|
-
* the event loop was terminated due to stop() or stopModal().
|
430
|
-
* Except for the modal window and its children, user input to all windows
|
431
|
-
* is blocked; if the modal window is NULL, all user input is blocked.
|
432
|
-
*/
|
433
|
-
FXint runModalWhileEvents(FXWindow* window=NULL);
|
434
|
-
|
435
|
-
/**
|
436
|
-
* Run modal event loop, blocking keyboard and mouse events to all windows
|
437
|
-
* until stopModal is called.
|
438
|
-
*/
|
439
|
-
FXint runModal();
|
440
|
-
|
441
|
-
/**
|
442
|
-
* Run a modal event loop for the given window, until stop() or stopModal() is
|
443
|
-
* called. Except for the modal window and its children, user input to all
|
444
|
-
* windows is blocked; if the modal window is NULL all user input is blocked.
|
445
|
-
*/
|
446
|
-
FXint runModalFor(FXWindow* window);
|
447
|
-
|
448
|
-
/**
|
449
|
-
* Run modal while window is shown, or until stop() or stopModal() is called.
|
450
|
-
* Except for the modal window and its children, user input to all windows
|
451
|
-
* is blocked; if the modal window is NULL all user input is blocked.
|
452
|
-
*/
|
453
|
-
FXint runModalWhileShown(FXWindow* window);
|
454
|
-
|
455
|
-
/**
|
456
|
-
* Run popup menu while shown, until stop() or stopModal() is called.
|
457
|
-
* Also returns when entering previous cascading popup menu.
|
458
|
-
*/
|
459
|
-
FXint runPopup(FXWindow* owner);
|
460
|
-
|
461
397
|
/// True if the window is modal
|
462
398
|
bool isModal(FXWindow* window) const;
|
463
399
|
|
data/swig-interfaces/macros.i
CHANGED
@@ -31,6 +31,62 @@
|
|
31
31
|
/// Detach application's windows
|
32
32
|
virtual void detach();
|
33
33
|
|
34
|
+
/**
|
35
|
+
* Run the main application event loop until stop() is called,
|
36
|
+
* and return the exit code passed as argument to stop().
|
37
|
+
*/
|
38
|
+
FXint run();
|
39
|
+
|
40
|
+
/// Perform one event dispatch; return true if event was dispatched
|
41
|
+
bool runOneEvent(bool blocking=true);
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Run an event loop till some flag becomes non-zero, and
|
45
|
+
* then return.
|
46
|
+
*/
|
47
|
+
FXint runUntil(FXuint& condition); // FIXME
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Run event loop while events are available, non-modally.
|
51
|
+
* Return when no more events, timers, or chores are outstanding.
|
52
|
+
*/
|
53
|
+
FXint runWhileEvents();
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Run event loop while there are events are available in the queue.
|
57
|
+
* Returns 1 when all events in the queue have been handled, and 0 when
|
58
|
+
* the event loop was terminated due to stop() or stopModal().
|
59
|
+
* Except for the modal window and its children, user input to all windows
|
60
|
+
* is blocked; if the modal window is NULL, all user input is blocked.
|
61
|
+
*/
|
62
|
+
FXint runModalWhileEvents(FXWindow* window=NULL);
|
63
|
+
|
64
|
+
/**
|
65
|
+
* Run modal event loop, blocking keyboard and mouse events to all windows
|
66
|
+
* until stopModal is called.
|
67
|
+
*/
|
68
|
+
FXint runModal();
|
69
|
+
|
70
|
+
/**
|
71
|
+
* Run a modal event loop for the given window, until stop() or stopModal() is
|
72
|
+
* called. Except for the modal window and its children, user input to all
|
73
|
+
* windows is blocked; if the modal window is NULL all user input is blocked.
|
74
|
+
*/
|
75
|
+
FXint runModalFor(FXWindow* window);
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Run modal while window is shown, or until stop() or stopModal() is called.
|
79
|
+
* Except for the modal window and its children, user input to all windows
|
80
|
+
* is blocked; if the modal window is NULL all user input is blocked.
|
81
|
+
*/
|
82
|
+
FXint runModalWhileShown(FXWindow* window);
|
83
|
+
|
84
|
+
/**
|
85
|
+
* Run popup menu while shown, until stop() or stopModal() is called.
|
86
|
+
* Also returns when entering previous cascading popup menu.
|
87
|
+
*/
|
88
|
+
FXint runPopup(FXWindow* owner);
|
89
|
+
|
34
90
|
/**
|
35
91
|
* Initialize application.
|
36
92
|
* Parses and removes common command line arguments, reads the registry.
|
data/test/TC_FXApp.rb
CHANGED
@@ -7,9 +7,6 @@ class TC_FXApp < Test::Unit::TestCase
|
|
7
7
|
include Fox
|
8
8
|
|
9
9
|
def test_exception_for_second_app
|
10
|
-
app = FXApp.new
|
11
|
-
mainWindow = FXMainWindow.new(app, "")
|
12
|
-
app.create
|
13
10
|
assert_raise RuntimeError do
|
14
11
|
app2 = FXApp.new
|
15
12
|
end
|
@@ -33,14 +30,16 @@ class TC_FXApp2 < Fox::TestCase
|
|
33
30
|
app.removeInput(pipe_wr, INPUT_WRITE)
|
34
31
|
|
35
32
|
app.addInput(pipe_rd, INPUT_READ, app, FXApp::ID_QUIT)
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
2.times do
|
34
|
+
data_sent = false
|
35
|
+
app.addTimeout(1) do
|
36
|
+
data_sent = true
|
37
|
+
pipe_wr.write " "
|
38
|
+
end
|
39
|
+
app.run
|
40
|
+
assert data_sent, "the read input event shouldn't fire before some data is available"
|
41
|
+
assert " ", pipe_rd.read(1)
|
40
42
|
end
|
41
|
-
app.run
|
42
|
-
assert data_sent, "the read input event shouldn't fire before some data is available"
|
43
|
-
|
44
43
|
app.removeInput(pipe_rd, INPUT_READ)
|
45
44
|
pipe_wr.close
|
46
45
|
pipe_rd.close unless pipe_rd.closed?
|
@@ -50,6 +49,22 @@ class TC_FXApp2 < Fox::TestCase
|
|
50
49
|
check_events *IO.pipe
|
51
50
|
end
|
52
51
|
|
52
|
+
def test_addInput_on_socket_accept
|
53
|
+
s = TCPServer.open 'localhost', 0
|
54
|
+
app.addInput(s, INPUT_READ, app, FXApp::ID_QUIT)
|
55
|
+
2.times do
|
56
|
+
pipe_wr = nil
|
57
|
+
app.addTimeout(1) do
|
58
|
+
pipe_wr = TCPSocket.open 'localhost', s.addr[1]
|
59
|
+
end
|
60
|
+
app.run
|
61
|
+
assert pipe_wr, "the read input event shouldn't fire before client connection happens"
|
62
|
+
s.accept.close
|
63
|
+
end
|
64
|
+
app.removeInput(s, INPUT_READ)
|
65
|
+
s.close
|
66
|
+
end
|
67
|
+
|
53
68
|
def test_addInput_on_socket
|
54
69
|
s = TCPServer.open 'localhost', 0
|
55
70
|
pipe_wr = TCPSocket.open 'localhost', s.addr[1]
|
@@ -63,4 +78,39 @@ class TC_FXApp2 < Fox::TestCase
|
|
63
78
|
pipe_rdwr = IO.popen("cat", "r+")
|
64
79
|
check_events pipe_rdwr, pipe_rdwr
|
65
80
|
end
|
81
|
+
|
82
|
+
def test_runOnUiThread
|
83
|
+
count = 0
|
84
|
+
thread = nil
|
85
|
+
Thread.new do
|
86
|
+
10.times do |idx|
|
87
|
+
app.runOnUiThread do
|
88
|
+
count += 1
|
89
|
+
thread = Thread.current
|
90
|
+
app.stop if idx == 9
|
91
|
+
end
|
92
|
+
sleep 0.001
|
93
|
+
end
|
94
|
+
end
|
95
|
+
app.run
|
96
|
+
|
97
|
+
assert_equal Thread.current, thread
|
98
|
+
assert_equal 10, count
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_runOnUiThread_same_thread
|
102
|
+
count = 0
|
103
|
+
app.addTimeout(1) do
|
104
|
+
10.times do |idx|
|
105
|
+
app.runOnUiThread do
|
106
|
+
count += 1
|
107
|
+
app.stop if idx == 9
|
108
|
+
end
|
109
|
+
sleep 0.001
|
110
|
+
end
|
111
|
+
end
|
112
|
+
app.run
|
113
|
+
|
114
|
+
assert_equal 10, count
|
115
|
+
end
|
66
116
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'fox16'
|
2
|
+
require 'test/unit'
|
3
|
+
require 'testcase'
|
4
|
+
require 'openssl'
|
5
|
+
|
6
|
+
class TC_FXJPGImage < Fox::TestCase
|
7
|
+
include Fox
|
8
|
+
|
9
|
+
def setup
|
10
|
+
super(self.class.name)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_save_with_thread
|
14
|
+
w, h = 4000, 3000
|
15
|
+
img_data = OpenSSL::Random.random_bytes(w) * h * 4
|
16
|
+
|
17
|
+
count = 0
|
18
|
+
th = Thread.new do
|
19
|
+
loop do
|
20
|
+
count += 1
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
img = FXJPGImage.new(app)
|
25
|
+
img.setPixels( img_data, 0, w, h )
|
26
|
+
|
27
|
+
jpeg_data = FXMemoryStream.open(FXStreamSave, nil) do |outfile|
|
28
|
+
img.savePixels(outfile)
|
29
|
+
outfile.takeBuffer
|
30
|
+
end
|
31
|
+
|
32
|
+
assert_operator(count, :>=, 1000000)
|
33
|
+
assert_operator(jpeg_data.bytesize, :>=, 1000)
|
34
|
+
|
35
|
+
count = 0
|
36
|
+
img = FXJPGImage.new(app)
|
37
|
+
FXMemoryStream.open(FXStreamLoad, jpeg_data) do |infile|
|
38
|
+
img.loadPixels(infile)
|
39
|
+
end
|
40
|
+
|
41
|
+
th.kill
|
42
|
+
|
43
|
+
assert_equal 4000, img.width
|
44
|
+
assert_equal 3000, img.height
|
45
|
+
assert_operator(count, :>=, 1000000)
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,37 +1,30 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fxruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.30
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Lyle Johnson
|
8
8
|
- Lars Kanis
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
-----BEGIN CERTIFICATE-----
|
14
|
-
MIIDLjCCAhagAwIBAgIBAjANBgkqhkiG9w0BAQUFADA9MQ4wDAYDVQQDDAVrYW5p
|
15
|
-
czEXMBUGCgmSJomT8ixkARkWB2NvbWNhcmQxEjAQBgoJkiaJk/IsZAEZFgJkZTAe
|
16
|
-
Fw0xNDAyMjYwOTMzMDBaFw0xNTAyMjYwOTMzMDBaMD0xDjAMBgNVBAMMBWthbmlz
|
17
|
-
MRcwFQYKCZImiZPyLGQBGRYHY29tY2FyZDESMBAGCgmSJomT8ixkARkWAmRlMIIB
|
18
|
-
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApop+rNmg35bzRugZ21VMGqI6
|
19
|
-
HGzPLO4VHYncWn/xmgPU/ZMcZdfj6MzIaZJ/czXyt4eHpBk1r8QOV3gBXnRXEjVW
|
20
|
-
9xi+EdVOkTV2/AVFKThcbTAQGiF/bT1n2M+B1GTybRzMg6hyhOJeGPqIhLfJEpxn
|
21
|
-
lJi4+ENAVT4MpqHEAGB8yFoPC0GqiOHQsdHxQV3P3c2OZqG+yJey74QtwA2tLcLn
|
22
|
-
Q53c63+VLGsOjODl1yPn/2ejyq8qWu6ahfTxiIlSar2UbwtaQGBDFdb2CXgEufXT
|
23
|
-
L7oaPxlmj+Q2oLOfOnInd2Oxop59HoJCQPsg8f921J43NCQGA8VHK6paxIRDLQID
|
24
|
-
AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUvgTdT7fe
|
25
|
-
x17ugO3IOsjEJwW7KP4wDQYJKoZIhvcNAQEFBQADggEBAFmIAhRT0awqLQN9e4Uv
|
26
|
-
ZEk+jUWv4zkb+TWiKFJXlwjPyjGbZY9gVfOwAwMibYOK/t/+57ZzW3d0L12OUwvo
|
27
|
-
on84NVvYtIr1/iskJFWFkMoIquAFCdi9p68stSPMQK2XcrJJuRot29fJtropsZBa
|
28
|
-
2cpaNd/sRYdK4oep2usdKifA1lI0hIkPb3r5nLfwG2lAqBH7WZsUICHcTgR0VEbG
|
29
|
-
z9Ug5qQp9Uz73xC9YdGvGiuOX53LYobHAR4MWi2xxDlHI+ER8mRz0eY2FUuNu/Wj
|
30
|
-
GrqF74zpLl7/KFdHC8VmzwZS18hvDjxeLVuVI2gIGnBInqnlqv05g/l4/1pISh5j
|
31
|
-
dS4=
|
32
|
-
-----END CERTIFICATE-----
|
33
|
-
date: 2015-02-17 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2015-07-07 00:00:00.000000000 Z
|
34
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: mini_portile
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0.6'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0.6'
|
35
28
|
- !ruby/object:Gem::Dependency
|
36
29
|
name: rdoc
|
37
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -203,6 +196,7 @@ files:
|
|
203
196
|
- examples/textedit/helpwindow.rb
|
204
197
|
- examples/textedit/prefdialog.rb
|
205
198
|
- examples/textedit/textedit.rb
|
199
|
+
- examples/thread.rb
|
206
200
|
- examples/unicode.rb
|
207
201
|
- ext/fox16_c/FXRbApp.cpp
|
208
202
|
- ext/fox16_c/FXRbDataTarget.cpp
|
@@ -215,6 +209,7 @@ files:
|
|
215
209
|
- ext/fox16_c/extconf.rb
|
216
210
|
- ext/fox16_c/frames_wrap.cpp
|
217
211
|
- ext/fox16_c/fx3d_wrap.cpp
|
212
|
+
- ext/fox16_c/gvl_wrappers.cpp
|
218
213
|
- ext/fox16_c/iconlist_wrap.cpp
|
219
214
|
- ext/fox16_c/icons_wrap.cpp
|
220
215
|
- ext/fox16_c/image_wrap.cpp
|
@@ -440,6 +435,7 @@ files:
|
|
440
435
|
- ext/fox16_c/include/FXRbXPMIcon.h
|
441
436
|
- ext/fox16_c/include/FXRbXPMImage.h
|
442
437
|
- ext/fox16_c/include/FXRuby.h
|
438
|
+
- ext/fox16_c/include/gvl_wrappers.h
|
443
439
|
- ext/fox16_c/include/impl.h
|
444
440
|
- ext/fox16_c/include/inlinestubs.h
|
445
441
|
- ext/fox16_c/label_wrap.cpp
|
@@ -490,6 +486,7 @@ files:
|
|
490
486
|
- lib/fox16/settings.rb
|
491
487
|
- lib/fox16/signal.rb
|
492
488
|
- lib/fox16/splashscreen.rb
|
489
|
+
- lib/fox16/thread.rb
|
493
490
|
- lib/fox16/timeout.rb
|
494
491
|
- lib/fox16/tkcompat.rb
|
495
492
|
- lib/fox16/undolist.rb
|
@@ -966,6 +963,7 @@ files:
|
|
966
963
|
- test/TC_FXIconList.rb
|
967
964
|
- test/TC_FXId.rb
|
968
965
|
- test/TC_FXImage.rb
|
966
|
+
- test/TC_FXJPGImage.rb
|
969
967
|
- test/TC_FXLight.rb
|
970
968
|
- test/TC_FXList.rb
|
971
969
|
- test/TC_FXListBox.rb
|
@@ -1045,85 +1043,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1045
1043
|
version: '0'
|
1046
1044
|
requirements: []
|
1047
1045
|
rubyforge_project:
|
1048
|
-
rubygems_version: 2.4.
|
1046
|
+
rubygems_version: 2.4.8
|
1049
1047
|
signing_key:
|
1050
1048
|
specification_version: 4
|
1051
1049
|
summary: FXRuby is the Ruby binding to the FOX GUI toolkit.
|
1052
|
-
test_files:
|
1053
|
-
- test/TC_FXWindow.rb
|
1054
|
-
- test/TC_FXArc.rb
|
1055
|
-
- test/TC_FXViewport.rb
|
1056
|
-
- test/TC_FXText.rb
|
1057
|
-
- test/TC_FXAccelTable.rb
|
1058
|
-
- test/TC_FXTreeListBox.rb
|
1059
|
-
- test/TC_FXMainWindow.rb
|
1060
|
-
- test/TC_FXDirList.rb
|
1061
|
-
- test/TC_FXVec3f.rb
|
1062
|
-
- test/TC_FXBMPImage.rb
|
1063
|
-
- test/TC_FXXPMImage.rb
|
1064
|
-
- test/TC_FXRegion.rb
|
1065
|
-
- test/TC_FXButton.rb
|
1066
|
-
- test/TC_FXGLViewer.rb
|
1067
|
-
- test/TC_FXRanged.rb
|
1068
|
-
- test/TC_FXRegistry.rb
|
1069
|
-
- test/TC_FXMat4f.rb
|
1070
|
-
- test/TC_FXListBox.rb
|
1071
|
-
- test/TC_FXTopWindow.rb
|
1072
|
-
- test/TC_FXTableItem.rb
|
1073
|
-
- test/TC_FXFileStream.rb
|
1074
|
-
- test/TC_FXComboBox.rb
|
1075
|
-
- test/TC_FXApp.rb
|
1076
|
-
- test/TC_FXTable.rb
|
1077
|
-
- test/TC_FXRadioButton.rb
|
1078
|
-
- test/TC_FXVec4f.rb
|
1079
|
-
- test/TC_FXExtentd.rb
|
1080
|
-
- test/TC_FXMenuCommand.rb
|
1081
|
-
- test/TC_FXPoint.rb
|
1082
|
-
- test/TC_FXFontDesc.rb
|
1083
|
-
- test/TC_FXTreeList.rb
|
1084
|
-
- test/TC_FXIconList.rb
|
1085
|
-
- test/TC_FXGLShape.rb
|
1086
|
-
- test/TC_FXId.rb
|
1087
|
-
- test/TC_FXVec2f.rb
|
1088
|
-
- test/TC_FXXBMIcon.rb
|
1089
|
-
- test/TC_FXLight.rb
|
1090
|
-
- test/TC_FXMaterial.rb
|
1091
|
-
- test/TC_FXSegment.rb
|
1092
|
-
- test/TC_FXMemoryStream.rb
|
1093
|
-
- test/TC_FXScrollWindow.rb
|
1094
|
-
- test/TC_FXImage.rb
|
1095
|
-
- test/TC_FXUndoList.rb
|
1096
|
-
- test/TC_FXXBMImage.rb
|
1097
|
-
- test/TC_FXSize.rb
|
1098
|
-
- test/TC_FXDC.rb
|
1099
|
-
- test/TC_FXIconDict.rb
|
1100
|
-
- test/TC_FXSettings.rb
|
1101
|
-
- test/TC_FXBMPIcon.rb
|
1102
|
-
- test/TC_FXFileAssoc.rb
|
1103
|
-
- test/TC_Misc.rb
|
1104
|
-
- test/TC_FXList.rb
|
1105
|
-
- test/TC_FXDataTarget.rb
|
1106
|
-
- test/TC_FXXPMIcon.rb
|
1107
|
-
- test/TC_FXRangef.rb
|
1108
|
-
- test/TC_FXHeader.rb
|
1109
|
-
- test/TC_FXRectangle.rb
|
1110
|
-
- test/TC_FXMessageBox.rb
|
1111
|
-
- test/TC_downcast.rb
|
1112
|
-
- test/TC_FXDialogBox.rb
|
1113
|
-
- test/TC_FXStream.rb
|
1114
|
-
- test/TC_FXQuatf.rb
|
1115
|
-
- test/TC_FXVec3d.rb
|
1116
|
-
- test/TC_FXHiliteStyle.rb
|
1117
|
-
- test/TC_FXExtentf.rb
|
1118
|
-
- test/TC_FXShell.rb
|
1119
|
-
- test/TC_FXMenuCheck.rb
|
1120
|
-
- test/TC_FXGradientBar.rb
|
1121
|
-
- test/TC_FXMenuRadio.rb
|
1122
|
-
- test/TC_FXDCWindow.rb
|
1123
|
-
- test/TC_FXScrollArea.rb
|
1124
|
-
- test/TC_FXFont.rb
|
1125
|
-
- test/TC_FXDCPrint.rb
|
1126
|
-
- test/TC_FXFoldingList.rb
|
1127
|
-
- test/TC_FXCheckButton.rb
|
1128
|
-
- test/TC_FXGLGroup.rb
|
1129
|
-
- test/TC_FXVec2d.rb
|
1050
|
+
test_files: []
|