/*------------------------------------------------------------------------------ ぱれっと ------------------------------------------------------------------------------*/ !母艦設計=「母艦の可視はオフ」 #format------------------------------------------------------------------------- !タイトル=「ぱれっと」 !アプリアバウト=「レイヤー式らくがきソフト」 !コピーライト=「(c)2005 canot」 取り扱いファイル=「」 イメージサイズ@x=300 イメージサイズ@y=300 クリア色=4473924 クリックスイッチ=0 更新スイッチ=1 処理位置@x=0 処理位置@y=0 処理位置@x1=0 処理位置@y1=0 インキサイズ@1=4 インキサイズ@2=12 インキカラー@1=「」 インキカラー@2=「#ffffff」 選択ツール=1 レイヤ数=3 編集レイヤー=2 メニューセット=「 ,mf,ファイル(&F) -,f1,新規,Ctrl+F8,,新規紙 -,f2,- -,f3,名前をつけて保存,Ctrl+S,,図画保存 -,f4,- -,mfx,閉じる(&X),ESC,,終わる ,mt,ツール(&T) -,t1,ペン,A,,1のツール選択 -,t2,消しゴム,S,,2のツール選択 ,ml,レイヤー(&L) -,l1,レイヤー1,Ctrl+1,,1のレイヤー選択 -,l2,レイヤー2,Ctrl+2,,2のレイヤー選択 -,l3,レイヤー3,Ctrl+3,,3のレイヤー選択 ,ms,設定(&S) -,s1,ペンサイズ設定,,,ペンサイズ変更 -,s3,ペン色設定,,,ペン色変更 ,mh,ヘルプ(&H) -,h1,{タイトル}について(&A),,,アバウト 」 #System------------------------------------------------------------------------- ocw=0; och=0; mx=0; my=0; ink=0; mmx=0; mmy=0; stat="starting"; #------------------------------------------------------------------------------- # GUI Edit #------------------------------------------------------------------------------- #定義 #Menu--------------------------------------------------------------------------- 「{メニューセット}」をメニュー一括作成 #Timer-------------------------------------------------------------------------- 表示タイマーとはタイマー #StatusBar---------------------------------------------------------------------- 母艦ステータスとはステータスバー #Stage-------------------------------------------------------------------------- 母艦ステージとはスクロールパネル #Image-------------------------------------------------------------------------- 表示イメージとはイメージ 作業用レイヤとはイメージ 読み込みイメージとはイメージ 位置取得イメージとはイメージ #設定 #UI Style----------------------------------------------------------------------- //main window 母艦について タイトルは「{タイトル}」 クライアントWはイメージサイズ@x+200 クライアントHはイメージサイズ@y+母艦ステータスの高さ+50 背景色はクリア色 母艦を中央移動 //status 母艦ステータスについて レイアウトは下 //stage 母艦ステージについて レイアウトは全体 //timer 表示タイマーについて 値は80 //image 表示イメージについて 幅はイメージサイズ@x 高さはイメージサイズ@y Xは0 Yは0 親部品は母艦ステージ 可視はオン 作業用レイヤについて 幅はイメージサイズ@x 高さはイメージサイズ@y 可視はオフ 読み込みイメージについて 幅はイメージサイズ@x 高さはイメージサイズ@y 可視はオフ 位置取得イメージについて 親部品は母艦ステージ レイアウトは全体 可視はオン //image format 表示イメージを白色で画面クリア 読み込みイメージを白色で画面クリア nを1からレイヤ数まで繰り返す 「 レイヤ{n}とはイメージ マスク{n}とはイメージ 」をナデシコする 「 レイヤ{n}について 幅はイメージサイズ@x 高さはイメージサイズ@y 可視はオフ マスク{n}について 幅はイメージサイズ@x 高さはイメージサイズ@y 可視はオフ 」をナデシコする 「 レイヤ{n}を黒色で画面クリア マスク{n}を白色で画面クリア 」をナデシコする ここまで #Ivent-------------------------------------------------------------------------- 母艦ステージのサイズ変更した時は〜 位置調整 位置取得イメージのマウス移動した時は〜 座標取得 表示タイマーの時満ちた時は〜 もし更新スイッチ=1ならば 母艦変更イベント 更新スイッチ=0 位置取得イメージのマウス押した時は〜 もし(位置取得イメージの押されたボタン=「左」)ならば、 クリックスイッチ=1 ink=0 もし(位置取得イメージの押されたボタン=「右」)ならば、 表示イメージのmx,myを点取得 インキカラー@1=それ 座標初期化 stat="{編集レイヤー} - {インキカラー@選択ツール}"; 位置取得イメージのマウス離した時は〜 クリックスイッチ=0 選択パーツ=0 #表示 #onView------------------------------------------------------------------------- イメージ作成 1のレイヤー選択 1のツール選択 stat=「開始しました。」; ステータス更新する。 位置調整する。 母艦の可視はオン 表示タイマーの開始 #------------------------------------------------------------------------------- # Mainroutine #------------------------------------------------------------------------------- 待機。 #------------------------------------------------------------------------------- # Subroutine #------------------------------------------------------------------------------- *位置調整 ex@w = 表示イメージのX ex@h = 表示イメージのY イメージサイズをexでステージ位置調整 表示イメージのX = ex@w 表示イメージのY = ex@h *座標取得 mx = (位置取得イメージのマウスX-ex@w) my = (位置取得イメージのマウスY-ex@h) ステータス更新 インクサイズ判定 *座標初期化 処理位置@x=mx 処理位置@y=my 処理位置@x1=処理位置@x 処理位置@y1=処理位置@y *母艦変更イベント 作業用レイヤを白色で画面クリア nをレイヤ数から1まで繰り返す 「マスク{n}を作業用レイヤの0,0へ画像ANDコピー。 レイヤ{n}を作業用レイヤの0,0へ画像ORコピー。」をナデシコする ここまで 作業用レイヤを表示イメージの0,0へ画像コピー 描画処理反映 *新規紙 //image format nを1からレイヤ数まで繰り返す 「レイヤ{n}を黒色で画面クリア マスク{n}を白色で画面クリア」をナデシコする ここまで 取り扱いファイル=「」 stat=「新規。」; 母艦変更イベント *図画保存 「.png」の保存ファイル選択 もしそれが「」でなければ、 取り扱いファイル=それ 表示イメージを「{それ}」に画像保存 stat=「保存成功。」; 違えば、 BEEP stat=「保存に失敗…」; *インクサイズ判定 ink=インキサイズ@(選択ツール) もし、クリックスイッチ=1ならば、編集レイヤーをmxのmyでマウス描画 *マスク色判定 線色は0 もし選択ツールが2ならば、 線色は「$ffffff」 *ステータス更新 母艦ステータス =「{stat} {取り扱いファイル} / {mx} x {my} / {mmx} x {mmy}」 *アバウト 「{タイトル}{\n}{\t}{アプリアバウト}{\n}{\t}{コピーライト}」と言う *ペンサイズ変更 ダイアログIME=「IMEオフ」 ダイアログ初期値=インキサイズ@選択ツール 「ペンサイズは?」で尋ねる インキサイズ@選択ツール=それ *ペン色変更 色選択 インキカラー@1=それ #------------------------------------------------------------------------------- # Function #------------------------------------------------------------------------------- //内容の位置をオブジェクトの中央に調整 ●ステージ位置調整({参照渡し}内容サイズを{参照渡し}exで) ocw=cw och=ch cw=整数部分((母艦ステージのパネル幅/2)-((内容サイズ@x)/2)) ch=整数部分((母艦ステージのパネル高/2)-((内容サイズ@y)/2)) もし(cw<=0)ならば、 cw=0 もし、((ex@w=1)||(ocw != cw))ならば、 ex@w = 0 違えば、 ex@w = cw ここまで もし(ch<=0)ならば、 ch=0 もし、((ex@h=1)||(och != ch))ならば、 ex@h = 0 違えば、 ex@h = ch ここまで //対象レイヤーに線を描画 ●マウス描画(指定lを,mxの,myで) もし、(mmx