fxruby 1.6.29-x86-mingw32 → 1.6.30-x86-mingw32
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/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: []
|