Ruby GTK3移行後のメインリポジトリ
Revision | 5d5ee7253876b4e897caffd5080737818ea4f550 (tree) |
---|---|
Zeit | 2017-04-08 22:57:08 |
Autor | Shyouzou Sugitani <shy@user...> |
Commiter | Shyouzou Sugitani |
update pix.py and support for windows environment
@@ -1,3 +1,8 @@ | ||
1 | +Sat April 8 2017 Shyouzou Sugitani <shy@users.osdn.me> | |
2 | + * Windows環境ではInputShapeを使用しないように修正. | |
3 | + * ワークエリアの取得方法を改善.(Gtk 3.22以降が必須となった.) | |
4 | + * HolonとMemeクラス拡張時の変更漏れを修正. | |
5 | + | |
1 | 6 | Sat March 25 2017 Shyouzou Sugitani <shy@users.osdn.me> |
2 | 7 | * Copyrightを2017年に更新した. |
3 | 8 | * Rubyらしいコーディングスタイルへの修正. |
@@ -18,7 +18,8 @@ UNIX系OS対応デスクトップアクセサリninixに拡張機能を追加し | ||
18 | 18 | |
19 | 19 | - Ruby (http://www.ruby-lang.org/) |
20 | 20 | 本ソフトウェアの開発言語です。 |
21 | - バージョン 2.3.1 での動作を確認しています。 | |
21 | + バージョン 2.3.3 での動作を確認しています。 | |
22 | + * Windows環境ではRuby InstallerおよびDevkitをインストールしてください。 | |
22 | 23 | |
23 | 24 | - NArray(http://masa16.github.io/narray/) |
24 | 25 | 大規模な多次元数値配列の計算を、簡単かつ高速に実現するRubyのクラスです。 |
@@ -26,27 +27,25 @@ UNIX系OS対応デスクトップアクセサリninixに拡張機能を追加し | ||
26 | 27 | |
27 | 28 | - Ruby/GTK3 (http://ruby-gnome2.osdn.jp/) |
28 | 29 | Gtk+3をRubyから利用するための拡張ライブラリです。 |
29 | - バージョン 3.0.9 での動作を確認しています。 | |
30 | - * Windows環境ではRuby InstallerおよびDevkitをインストールしてください。 | |
31 | - (ただし、多くの点で動作に問題がある模様です。) | |
30 | + バージョン 3.1.0 での動作を確認しています。 | |
32 | 31 | |
33 | 32 | - GTK+ (http://www.gtk.org/) |
34 | 33 | クロスプラットフォームの GUI ライブラリです。 |
35 | - バージョン 3.20.7 での動作を確認しています。 | |
34 | + バージョン 3.22.11 での動作を確認しています。(3.22以上が必須です。) | |
36 | 35 | 下記GStreamerを使用する場合はRuby/GStreamerもインストールが必要です。 |
37 | 36 | |
38 | 37 | - GStreamer (http://gstreamer.freedesktop.org/) |
39 | 38 | このソフトウェアはninix-ayaを動作させるのに必須ではありません。 |
40 | 39 | 音声ファイルの再生に使用しています。 |
41 | - バージョン 1.8.2 での動作を確認しています。 | |
40 | + バージョン 1.10.4 での動作を確認しています。 | |
42 | 41 | |
43 | 42 | - Rubyzip(https://github.com/rubyzip/rubyzip) |
44 | 43 | Rubyからzipファイルを読み書きするためのモジュールです。 |
45 | - バージョン 1.1.7 での動作を確認しています。 | |
44 | + バージョン 1.2.0 での動作を確認しています。 | |
46 | 45 | |
47 | 46 | - Ruby gettext(http://ruby-gettext.github.io/) |
48 | 47 | Rubyのソフトをローカライズするためのパッケージです。 |
49 | - バージョン 3.1.7 での動作を確認しています。 | |
48 | + バージョン 3.2.2 での動作を確認しています。 | |
50 | 49 | |
51 | 50 | - CharlockHolmes (http://github.com/brianmario/charlock_holmes) |
52 | 51 | このソフトウェアはninix-ayaを動作させるのに必須ではありません。 |
@@ -80,9 +79,10 @@ ninix-ayaを起動するためのスクリプトが一緒にインストール | ||
80 | 79 | $ ninix |
81 | 80 | |
82 | 81 | Windows環境では、アーカイブを展開して |
83 | -lib/ninix_main.rb をRuby インタプリタで実行してください。(動作未確認) | |
82 | +lib/ninix_main.rb をRuby インタプリタで実行してください。 | |
84 | 83 | |
85 | 84 | ※ gemによる必要なもののインストール手順 |
85 | +(あらかじめDevKitをインストールしておく必要があります。) | |
86 | 86 | gem install narray |
87 | 87 | gem install gtk3 |
88 | 88 | gem install gstreamer |
@@ -93,7 +93,7 @@ lib/ninix_main.rb をRuby インタプリタで実行してください。(動 | ||
93 | 93 | ---------- |
94 | 94 | Copyright (C) 2001, 2002 by Tamito KAJIYAMA <kajiyama3@geocities.co.jp> |
95 | 95 | Copyright (C) 2002-2007 by MATSUMURA Namihiko <nie@counterghost.net> |
96 | -Copyright (C) 2002-2016 by Shyouzou Sugitani <shy@users.osdn.me> | |
96 | +Copyright (C) 2002-2017 by Shyouzou Sugitani <shy@users.osdn.me> | |
97 | 97 | Copyright (C) 2002, 2003 by ABE Hideaki <abe-xx@eos.dricas.com> |
98 | 98 | Copyright (C) 2003-2005 by Shun-ichi TAHARA <jado@flowernet.gr.jp> |
99 | 99 |
@@ -14,6 +14,7 @@ | ||
14 | 14 | # PURPOSE. See the GNU General Public License for more details. |
15 | 15 | # |
16 | 16 | |
17 | +require "tmpdir" | |
17 | 18 | require "zip" |
18 | 19 | require "open-uri" |
19 | 20 | require "fileutils" |
@@ -71,10 +71,8 @@ module Pix | ||
71 | 71 | end |
72 | 72 | @supports_alpha = composited? |
73 | 73 | fail "assert" unless not visual.nil? |
74 | - left, top = 0, 0 # XXX | |
75 | - width = (screen.width - left) | |
76 | - height = (screen.height - top) | |
77 | - @workarea = [left, top, width, height] | |
74 | + workarea = screen.display.primary_monitor.workarea # XXX | |
75 | + @workarea = [workarea.x, workarea.y, workarea.width, workarea.height] | |
78 | 76 | end |
79 | 77 | end |
80 | 78 |
@@ -112,8 +110,8 @@ module Pix | ||
112 | 110 | def move(x, y) |
113 | 111 | left, top, scrn_w, scrn_h = @workarea |
114 | 112 | w, h = @darea.size_request() # XXX |
115 | - new_x = [[left, x].max, scrn_w - w].min | |
116 | - new_y = [[top, y].max, scrn_h - h].min | |
113 | + new_x = [[left, x].max, left + scrn_w - w].min | |
114 | + new_y = [[top, y].max, top + scrn_h - h].min | |
117 | 115 | base_move(new_x, new_y) |
118 | 116 | @__position = [new_x, new_y] |
119 | 117 | @__surface_position = [x, y] |
@@ -153,7 +151,9 @@ module Pix | ||
153 | 151 | |
154 | 152 | def set_shape(cr) |
155 | 153 | region = Pix.surface_to_region(cr.target.map_to_image) |
156 | - if @supports_alpha | |
154 | + if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/ | |
155 | + shape_combine_region(nil) | |
156 | + elsif @supports_alpha | |
157 | 157 | input_shape_combine_region(nil) |
158 | 158 | input_shape_combine_region(region) |
159 | 159 | else |
@@ -298,19 +298,6 @@ module Ninix_Main | ||
298 | 298 | |
299 | 299 | class BalloonMeme < MetaMagic::Meme |
300 | 300 | |
301 | - def initialize(key) | |
302 | - super(key) | |
303 | - @parent = nil | |
304 | - end | |
305 | - | |
306 | - def set_responsible(parent) | |
307 | - @parent = parent | |
308 | - end | |
309 | - | |
310 | - def handle_request(event_type, event, *arglist) | |
311 | - return @parent.handle_request(event_type, event, *arglist) | |
312 | - end | |
313 | - | |
314 | 301 | def create_menuitem(data) |
315 | 302 | desc, balloon = data |
316 | 303 | subdir = balloon['balloon_dir'][0] |
@@ -330,19 +317,6 @@ module Ninix_Main | ||
330 | 317 | |
331 | 318 | class Ghost < MetaMagic::Holon |
332 | 319 | |
333 | - def initialize(key) | |
334 | - super(key) | |
335 | - @parent = nil | |
336 | - end | |
337 | - | |
338 | - def set_responsible(parent) | |
339 | - @parent = parent | |
340 | - end | |
341 | - | |
342 | - def handle_request(event_type, event, *arglist) | |
343 | - @parent.handle_request(event_type, event, *arglist) | |
344 | - end | |
345 | - | |
346 | 320 | def create_menuitem(data) |
347 | 321 | @parent.handle_request('GET', 'create_menuitem', @key, data) |
348 | 322 | end |