//ペイントフィールド2.5 !変数宣言は必要 !母艦設計=「母艦の可視はオフ」 !タイトル=「ペイントフィールド」 !アプリバージョン=「2.5」 !アプリ説明=「」 !アイコンアドレス=「pf2Icons.png」//_w !INIファイル=「{母艦のパス}pf2.ini」 !クリア色=$F2EFE3//$fdfdff//紙の色 !クリア背景色=$666666//背景の色 !基本色=12178150 #宣言 #フォーマット------------------------------------------------------------------- //ペン 基本太さとは配列 基本太さ[0]=4 基本太さ[1]=8 基本太さ[2]=16 基本太さ[3]=40 基本カラーとは配列 基本カラー[0]=基本色 基本カラー[1]=9682140 基本カラー[2]=12367574 基本カラー[3]=12547708 基本カラー[4]=15110992 線色=「{基本色}」 線太さ=基本太さ[0] //紙 イメージ幅とは整数=4500//3200//px イメージ高さとは整数=3200//2400//px 表示Xとは整数=300//表示するpxの位置 表示Yとは整数=300//表示するpxの位置 スワップファイルとは文字列=「{今日の"/"を""へ置換}{今の":"を""へ置換}.png」 //マウス mxとは配列 myとは配列 mx[0]=0;my[0]=0; mx[1]=0;my[1]=0; 通常カーソルとは整数 リンクカーソルとは整数 ブラシカーソルとは整数 スポイトカーソルとは整数 バケツカーソルとは整数 移動カーソルとは整数 移動中カーソルとは整数 通常カーソル=0の32512をカーソル取得 リンクカーソル=0の32649をカーソル取得 ブラシカーソル=「8pt2.cur」をカーソルファイル取得 スポイトカーソル=「sp.cur」をカーソルファイル取得 バケツカーソル=「bk.cur」をカーソルファイル取得 移動カーソル=「ho.cur」をカーソルファイル取得 移動中カーソル=「hc.cur」をカーソルファイル取得 //机 現在ツールとは整数=0 現在ペンサイズとは整数=0 座標Xとは整数=0 座標Yとは整数=0 クリックスイッチとは整数=0 サイズ変更スイッチとは整数=0 再描画スイッチとは整数=0 更新スイッチとは整数=1 移動スイッチとは整数=0 色バースイッチとは整数=1 変更フラグとは整数=0 テキストハンドルとは整数=0; m始点とは配列 //ステータス statとは文字列="wait..."; #UI--------------------------------------------------------------------------- 母艦メニューとはメインメニュー 母艦ステータスとはステータスバー アバウトPFとはフォーム アイコンバッファとはイメージリスト ツールパレットとはフォーム ツールセレクタとはツールバー カラー1とはラベル カラー2とはラベル カラー3とはラベル カラー4とはラベル カラー5とはラベル カラーチェッカとはラベル カラーパレットとはフォーム カラーパネルとはパネル カラーウエパネルとはパネル カラースライドパネルとはパネル カラーシタパネルとはパネル カラータブとはタブページ カラーミニボタンとは画像ボタン Rバーとはバー Gバーとはバー Bバーとはバー 母艦ステージとはパネル 描画ステージとはパネル 下部操作パネルとはパネル スペーサーとはパネル バーアシスタンスとはパネル オプションパネルとはパネル ステージ縦バーとはバー ステージ横バーとはバー 表示イメージとはイメージ バッファイメージとはイメージ 処理イメージとはイメージ 読み込みイメージとはイメージ カンバスタイマーとはタイマー #hack 避難所とはバー//エディタ #設定 #Menu--------------------------------------------------------------------------- /* [一括作成バグ対策] メニュー一括作成で作成されたメニューを操作しようとするとエラーが出るので ここで一旦インターフェースとしてオンオフ用の実数を定義します */ ep1とは実数 ep2とは実数 ep3とは実数 ep4とは実数 ep5とは実数 ew1とは実数 ew2とは実数 ew3とは実数 ew4とは実数 cp1とは実数 cp2とは実数 cp3とは実数 cp4とは実数 cp5とは実数 wtb1とは実数 wtb2とは実数 wtb3とは実数 wtb4とは実数 wtb5とは実数 wtb6とは実数 wtb8とは実数 wtb7とは実数 wtb9とは実数 wtとは実数 wpとは実数 wpbとは実数 /* / [一括作成バグ対策] */ 『 母艦メニュー,mf,ファイル(&F) -,fC,白紙に戻す(&N),,,メモリクリア -,fh2,- -,fS,保存(&S),,,1でログ格納処理 -,fh1,- -,fe,閉じる(&X),ESC,,終わる 母艦メニュー,me,ツール(&T) -,ep1,ペンを持つ(&D),Z,なし,現在ツール=(0でペン切り替え) -,ep2,消しゴムを持つ(&E),X,なし,現在ツール=(1でペン切り替え) -,ep3,スポイトを持つ(&L),C,なし,現在ツール=(2でペン切り替え) -,ep4,バケツを持つ(&B),B,なし,現在ツール=(3でペン切り替え) -,ep5,移動ツールを持つ(&M),N,なし,現在ツール=(4でペン切り替え) -,eh1,- -,ew1,細(&1),A,なし,現在ペンサイズ=(0でサイズ切り替え) -,ew2,中(&2),S,なし,現在ペンサイズ=(1でサイズ切り替え) -,ew3,太(&3),D,なし,現在ペンサイズ=(2でサイズ切り替え) -,ew4,極太(&4),F,なし,現在ペンサイズ=(3でサイズ切り替え) -,eh2,- -,eo1,編集を取り消す(&Z),Ctrl+Z,なし,アンドゥ実行 -,eo2,編集をやり直す(&Y),Ctrl+Y,なし,リドゥ実行 母艦メニュー,mc,色(&C) -,cp1,パレット1(&1),1,,現在色のセレクタ=0 -,cp2,パレット2(&2),2,,現在色のセレクタ=1 -,cp3,パレット3(&3),3,,現在色のセレクタ=2 -,cp4,パレット4(&4),4,,現在色のセレクタ=3 -,cp5,パレット5(&5),5,,現在色のセレクタ=4 -,ch1,- -,cc1,色の変更(&Q),Q,,色変更 母艦メニュー,mw,表示(&V) -,wt,ツール(&T),Ctrl+ALT+T,,ツール表示切替 -,wp,パレット(&P),Ctrl+ALT+P,,パレット表示切替 -,wpb,カラーコントローラ(&A),Ctrl+ALT+C,,カラー詳細表示切替 -,wh1,- -,ws,ステータスバー,Ctrl+ALT+S,,バー表示切替 』をメニュー一括作成 「母艦メニュー,mh,ヘルプ(&H) -,h1,{タイトル}について(&A),,,アバウト 」をメニュー一括作成 ツールセレクタに「 wtb1,0,ボタン,ペンを持つ... (Z),現在ツール=(0でペン切り替え) wtb2,1,ボタン,消しゴムを持つ... (X),現在ツール=(1でペン切り替え) wtb3,2,ボタン,スポイトを持つ... (C),現在ツール=(2でペン切り替え) wtb7,3,ボタン,バケツを持つ... (B),現在ツール=(3でペン切り替え) wtb4,5,ボタン,ペンを{基本太さ[0]}ptのものに替える... (A),現在ペンサイズ=(0でサイズ切り替え) wtb5,6,ボタン,ペンを{基本太さ[1]}ptのものに替える... (S),現在ペンサイズ=(1でサイズ切り替え) wtb6,7,ボタン,ペンを{基本太さ[2]}ptのものに替える... (D),現在ペンサイズ=(2でサイズ切り替え) wtb8,8,ボタン,ペンを{基本太さ[3]}ptのものに替える... (F),現在ペンサイズ=(3でサイズ切り替え) wtb9,4,ボタン,移動ツールに切り替え... (N),現在ツール=(4でペン切り替え) 」をツールボタン一括作成 #Style and Setting-------------------------------------------------------------- //main window 母艦について タイトルは「{タイトル}」 背景色はクリア色 母艦を中央移動 終了可能は0 //status 母艦ステータスについて レイアウトは「下」 可視はオフ //image list アイコンバッファについて 画像W=28//40 画像H=28//40 一括追加(アイコンアドレス) //ToolBar ツールセレクタについて 親部品はツールパレット レイアウトは「全体」 画像設定(アイコンバッファ) //Form ツールパレットについて タイトルは「」 スタイルは「枠なし」//「ツールウィンドウ」 親部品は母艦 レイアウトは「左」 背景色はウィンドウ背景色 クライアントWは36//47 クライアントHは210//145 カラーパレットについて タイトルは「」 スタイルは「ツールウィンドウ」 オフへシステムメニューボタン有効変更 背景色は$ecf0f6//白色//ウィンドウ背景色 クライアントWは190 クライアントHは50 Xは(母艦のX+(母艦のクライアントW-(カラーパレットのW+ステージ縦バーのH))) Yは(母艦のY+(母艦のH-母艦のクライアントH)) カラー1について 親部品はカラーパネル 背景色は「{基本カラー[0]}」 //レイアウトは「左」 テキストは「」 透明はオフ Xは0 Yは0 Wは20 Hは20 カラー2について 親部品はカラーパネル 背景色は「{基本カラー[1]}」 //レイアウトは「左」 テキストは「」 透明はオフ Wはカラー1のW Hはカラー1のW Xはカラー1のX+カラー1のW+10 Yは0 カラー3について 親部品はカラーパネル 背景色は「{基本カラー[2]}」 //レイアウトは「左」 テキストは「」 透明はオフ Wはカラー1のW Hはカラー1のW Xはカラー2のX+カラー2のW+10 Yは0 カラー4について 親部品はカラーパネル 背景色は「{基本カラー[3]}」 //レイアウトは「左」 テキストは「」 透明はオフ Wはカラー1のW Hはカラー1のW Xはカラー3のX+カラー3のW+10 Yは0 カラー5について 親部品はカラーパネル 背景色は「{基本カラー[4]}」 //レイアウトは「左」 テキストは「」 透明はオフ Wはカラー1のW Hはカラー1のW Xはカラー4のX+カラー4のW+10 Yは0 カラーパネルについて 親部品はカラーウエパネル スタイルは「枠なし」 背景色は白色 Xは24 Yは((カラーウエパネルのH-カラー1のW)/2) Wは((カラー1のW*5)+40) Hは(カラー1のW) カラーチェッカについて 親部品はカラーウエパネル 背景色は$006699//アクティブ色 テキストは「」 透明はオフ Hは4 Wは(カラー1のW) XはカラーパネルのX Yは(カラーパネルのY+カラーパネルのH)+2 カラーウエパネルについて 親部品はカラーパレット レイアウトは「上」 背景色は白色 Hは40 カラーミニボタンについて 親部品はカラーパレット レイアウトは「上」 テキストは「▼」 フラットはオン 文字色は$99aabb 文字サイズは4 Hは10 Wは12 カラーシタパネルについて 親部品はカラーパレット スタイルは「凹」//「枠なし」 レイアウトは「全体」 可視はオフ カラータブについて 親部品はカラーシタパネル レイアウトは「全体」 「RGB」のタブ追加 カラースライドパネルについて 親部品はカラータブ スタイルは「枠なし」 Hは70 Wは(カラーパネルのW+8) Yは0 Xは(カラーパネルのX-8) Rバーについて 親部品はカラースライドパネル 向きは「横」 最大値は255 最小値は0 Hは12 WはカラースライドパネルのW-1 Xは1 Yは((カラースライドパネルの高さ-(Rバーの高さ*3))/4) Gバーについて 親部品はカラースライドパネル 向きは「横」 最大値は255 最小値は0 Hは12 WはカラースライドパネルのW-1 Xは1 Yは(RバーのY+RバーのH+((カラースライドパネルの高さ-(Rバーの高さ*3))/4)) Bバーについて 親部品はカラースライドパネル 向きは「横」 最大値は255 最小値は0 Hは12 WはカラースライドパネルのW-1 Xは1 Yは(GバーのY+GバーのH+((カラースライドパネルの高さ-(Rバーの高さ*3))/4)) //Bar ステージ縦バーについて 親部品は母艦ステージ レイアウトは「右」 向きは「縦」 最小値は0 最大値は(表示イメージのH*2) 値は表示Y ステージ横バーについて 親部品は下部操作パネル レイアウトは「全体」 向きは「横」 最小値は0 最大値は(表示イメージのW*2) 値は表示X //stage 母艦ステージについて レイアウトは「全体」 スタイルは「凹」//「枠なし」 描画ステージについて 親部品は母艦ステージ レイアウトは「全体」 スタイルは「枠なし」 可視はオン 下部操作パネルについて 親部品は母艦ステージ レイアウトは「下」 スタイルは「枠なし」 高さは(ステージ横バーの高さ) スペーサーについて 親部品は下部操作パネル レイアウトは「右」 スタイルは「枠なし」 幅は(ステージ縦バーの幅) バーアシスタンスについて 親部品は下部操作パネル レイアウトは「左」 スタイルは「枠なし」 幅は120 オプションパネルについて レイアウトは「下」 スタイルは「枠なし」 可視はオフ //image 表示イメージについて Xは0 Yは0 親部品は描画ステージ 可視はオン 処理イメージについて W=母艦の幅 H=母艦の高さ 可視はオフ バッファイメージについて 可視はオフ 読み込みイメージについて 可視はオフ //timer カンバスタイマーについて 値は60 //hack 避難所について 親部品はオプションパネル Xは-100 Yは-100 Hは1 Wは1 最大値は1 //about アバウトPFについて タイトルは「{タイトル}について」 スタイルは「ダイアログスタイル」 画像は「ver_spr4_8.png」 #------------------------------------------------------------------------------- #イベントハンドラ #------------------------------------------------------------------------------- 母艦の閉じた時は〜 「終了しますか?」とシェル二択 もしそれがはいならば 終了処理 母艦の最小化した時は〜 カンバスタイマーの停止 母艦の非アクティブ時は〜 カンバスタイマーの停止 母艦のアクティブ時は〜 カンバスタイマーの開始 母艦ステージのサイズ変更した時は〜 サイズ調整 サイズ変更スイッチ=1 母艦のキー押した時は〜 もし(母艦の押された仮想キー=32)ならば、 移動スイッチ=1 座標初期化 もし(母艦の押された仮想キー=16)ならば、 移動スイッチ=1 座標初期化 カーソル設定 母艦のキー離した時は〜 もし((クリックスイッチ!=1)&&(現在ツール!=4))ならば 移動スイッチ=0 カーソル設定 カラー1のマウス入った時は〜 (描画ステージのハンドル)をリンクカーソルにマウスカーソル設定 カラー2のマウス入った時は〜 (描画ステージのハンドル)をリンクカーソルにマウスカーソル設定 カラー3のマウス入った時は〜 (描画ステージのハンドル)をリンクカーソルにマウスカーソル設定 カラー4のマウス入った時は〜 (描画ステージのハンドル)をリンクカーソルにマウスカーソル設定 カラー5のマウス入った時は〜 (描画ステージのハンドル)をリンクカーソルにマウスカーソル設定 カラー1のマウス出た時は〜 (描画ステージのハンドル)を通常カーソルにマウスカーソル設定 カラー2のマウス出た時は〜 (描画ステージのハンドル)を通常カーソルにマウスカーソル設定 カラー3のマウス出た時は〜 (描画ステージのハンドル)を通常カーソルにマウスカーソル設定 カラー4のマウス出た時は〜 (描画ステージのハンドル)を通常カーソルにマウスカーソル設定 カラー5のマウス出た時は〜 (描画ステージのハンドル)を通常カーソルにマウスカーソル設定 カラー1のマウス押した時は〜 現在色のセレクタ=0 カラー2のマウス押した時は〜 現在色のセレクタ=1 カラー3のマウス押した時は〜 現在色のセレクタ=2 カラー4のマウス押した時は〜 現在色のセレクタ=3 カラー5のマウス押した時は〜 現在色のセレクタ=4 カラーミニボタンのクリックした時は〜 カラー詳細表示切替 Rバーの変更した時は〜色バースイッチ=1 Gバーの変更した時は〜色バースイッチ=1 Bバーの変更した時は〜色バースイッチ=1 //image 表示イメージのマウス移動した時は〜 座標取得 表示イメージのマウス入った時は〜 カーソル設定 表示イメージのマウス出た時は〜 (描画ステージのハンドル)を通常カーソルにマウスカーソル設定 表示イメージのマウス押した時は〜 もし((表示イメージの押されたボタン=「左」)&&((現在ツール<2)||(移動スイッチ=1)))ならば クリックスイッチ=1 座標初期化 もし((表示イメージの押されたボタン=「左」)&&((移動スイッチ=0)&&(現在ツール=3)))ならば 座標取得 バケツ処理 もし(表示イメージの押されたボタン=「右」)ならば クリックスイッチ=1 移動スイッチ=1 座標初期化 始点記憶 座標取得 避難所に注目 カーソル設定 表示イメージのマウス離した時は〜 もし((移動スイッチ!=1)&&(現在ツール==2))ならば スポイトワーク もし(現在ツール!=4)ならば 移動スイッチ=0 クリックスイッチ=0 カーソル設定 //bar ステージ縦バーの変更した時は〜 表示Y=ステージ縦バーの値-INT(処理イメージのH/2) 再描画スイッチ=1 ステージ縦バーのキー押した時は〜 もし(母艦の押された仮想キー=33)ならば、 ステージ縦バーの値=ステージ縦バーの値-表示イメージの高さ もし(母艦の押された仮想キー=34)ならば、 ステージ縦バーの値=ステージ縦バーの値+表示イメージの高さ ステージ横バーの変更した時は〜 表示X=ステージ横バーの値-INT(処理イメージのW/2) 再描画スイッチ=1 ステージ横バーのキー押した時は〜 もし(母艦の押された仮想キー=33)ならば、 ステージ横バーの値=ステージ横バーの値-表示イメージの幅 もし(母艦の押された仮想キー=34)ならば、 ステージ横バーの値=ステージ横バーの値+表示イメージの幅 //timer カンバスタイマーの時満ちた時は〜 もしサイズ変更スイッチ=1ならば、サイズ調整 もし再描画スイッチ=1ならば、画像再描画 もし更新スイッチ=1ならば、 更新スイッチ=0 線色はクリア背景色 塗り色はクリア背景色 表示イメージの0,0から表示イメージの幅,表示イメージの高さへ四角 処理イメージの表示X,表示Y,表示イメージの幅,表示イメージの高さを表示イメージの座標X,座標Yへ画像部分コピー 描画ステージの描画処理反映 ステータス更新 もし色バースイッチ=1ならば 色バースイッチ=0 色バー変更 //hack 避難所のキー押した時は〜 もし(母艦の押された仮想キー=38)ならば、 ステージ縦バーの値=ステージ縦バーの値-20 もし(母艦の押された仮想キー=40)ならば、 ステージ縦バーの値=ステージ縦バーの値+20 もし(母艦の押された仮想キー=37)ならば、 ステージ横バーの値=ステージ横バーの値-20 もし(母艦の押された仮想キー=39)ならば、 ステージ横バーの値=ステージ横バーの値+20 アバウトPFのクリックした時は アバウトPFを閉じる #開始------------------------------------------------------------------------- メイン ●メイン バッファイメージをクリア色で画面クリア 表示イメージをクリア色で画面クリア 処理イメージをクリア色で画面クリア もしアクティブ色がウィンドウ背景色ならば カラーチェッカの背景色は赤色 stat="ready..."; ステータス更新 メモリサイズ変更 開始処理 現在ペンサイズでサイズ切り替え 現在色のセレクタ=0 母艦の可視はオン ツールパレットの最前面 カラーパレットの最前面 避難所に注目 #------------------------------------------------------------------------------- # 関数 #------------------------------------------------------------------------------- ●サイズ調整 表示イメージのW=描画ステージの幅 表示イメージのH=描画ステージの高さ 表示イメージをクリア背景色で画面クリア //バーに最大値情報を送信 ステージ縦バーの最大値は((処理イメージのH-表示イメージのH)+(処理イメージのH))の絶対値 ステージ横バーの最大値は((処理イメージのW-表示イメージのW)+(処理イメージのW))の絶対値 更新スイッチ=1 サイズ変更スイッチ=0 ●画像再描画 再描画スイッチ=0 更新スイッチ=1 //サイズ調整 ●座標取得 mx[0] = 表示イメージのマウスX+表示X-座標X my[0] = 表示イメージのマウスY+表示Y-座標Y もし((移動スイッチ=1)&&(クリックスイッチ=1))ならば、移動処理 もし((移動スイッチ=0)&&(クリックスイッチ=1))ならば、描画処理 ●座標初期化 mx[1]=mx[0]//(2-4の乱数) my[1]=my[0]//(2-4の乱数) ●描画処理 もし現在ツールが0ならば 線色は現在色の値 違えば 線色はクリア色 表示イメージの(mx[1]-表示X+座標X),(my[1]-表示Y+座標Y)から(mx[0]-表示X+座標X),(my[0]-表示Y+座標Y)へ線 処理イメージの(mx[1]),(my[1])から(mx[0]),(my[0])へ線 変更フラグ=1 座標初期化 ●バケツ処理 バケツ実行可能とは整数 //処理結果のプレビュー 処理イメージの(mx[0]),(my[0])を基本カラー[現在色のセレクタ]で塗る 処理イメージの表示X,表示Y,表示イメージの幅,表示イメージの高さを表示イメージの座標X,座標Yへ画像部分コピー 描画ステージの描画処理反映 //サイズ変更スイッチ=1 再描画スイッチ=1 変更フラグ=1 座標初期化 ●始点記憶 m始点[0]=表示イメージのマウスX m始点[1]=表示イメージのマウスY m始点[2]=表示X m始点[3]=表示Y ●移動処理 ステージ横バーの値=(m始点[2]+(m始点[0]-表示イメージのマウスX))+INT(処理イメージのW/2) ステージ縦バーの値=(m始点[3]+(m始点[1]-表示イメージのマウスY))+INT(処理イメージのH/2) ●カーソル設定 //マウスカーソル変更暫定処理 もし移動スイッチが1ならば もしクリックスイッチが1ならば (描画ステージのハンドル)を移動中カーソルにマウスカーソル設定 違えば (描画ステージのハンドル)を移動カーソルにマウスカーソル設定 違えば 現在ツールで条件分岐 2ならば (描画ステージのハンドル)をスポイトカーソルにマウスカーソル設定 3ならば (描画ステージのハンドル)をバケツカーソルにマウスカーソル設定 違えば (描画ステージのハンドル)をブラシカーソルにマウスカーソル設定 ●メモリサイズ変更 サイズ変更スイッチ=0 //処理イメージをバッファへ バッファイメージのW=処理イメージのW バッファイメージのH=処理イメージのH バッファイメージをクリア色で画面クリア 処理イメージをバッファイメージの0,0へ画像コピー //処理イメージをクリア及びリサイズして、バッファを処理イメージへ 処理イメージのW=イメージ幅 処理イメージのH=イメージ高さ 処理イメージをクリア色で画面クリア バッファイメージを処理イメージの0,0へ画像コピー //表示イメージのサイズを調整 サイズ調整 表示イメージをクリア色で画面クリア //バッファイメージをクリア バッファイメージのW=描画ステージの幅 バッファイメージのH=描画ステージの高さ バッファイメージをクリア色で画面クリア 更新スイッチ=1 ●メモリクリア 「現在の変更内容は破棄し、{\n}新しいファイルを用意します。」と二択。 もしそれがはいならば カンバスタイマーの停止 //表示イメージのサイズを調整 サイズ調整 処理イメージをクリア色で画面クリア スワップファイル=「{今日の"/"を""へ置換}{今の":"を""へ置換}.png」 stat="file : {スワップファイル}" サイズ変更スイッチ=1 カンバスタイマーの開始 ●ペン切り替え(Sで) 移動スイッチ=0 ep1@『チェック』はオフ ep2@『チェック』はオフ ep3@『チェック』はオフ ep4@『チェック』はオフ ep5@『チェック』はオフ wtb1@『有効』はオン wtb2@『有効』はオン wtb3@『有効』はオン wtb7@『有効』はオン wtb9@『有効』はオン Sで条件分岐 0ならば 線色=「{現在色の値}」 ep1@『チェック』はオン wtb1@『有効』はオフ 1ならば 線色=クリア色 ep2@『チェック』はオン wtb2@『有効』はオフ 2ならば ep3@『チェック』はオン wtb3@『有効』はオフ 3ならば ep4@『チェック』はオン wtb7@『有効』はオフ 4ならば 移動スイッチ=1 ep5@『チェック』はオン wtb9@『有効』はオフ 違えば stat="error:無効なツールが選択されました" 線色=「{基本色}」 ep1@『チェック』はオン wtb1@『有効』はオフ S=0 stat="tool:{S}" もし(S!=4)ならば アンドゥバッファー格納 Sを戻す ●アンドゥバッファー格納 もし変更フラグが1ならば 変更フラグ=0 //処理イメージをバッファへ バッファイメージのW=処理イメージのW バッファイメージのH=処理イメージのH バッファイメージをクリア色で画面クリア 処理イメージをバッファイメージの0,0へ画像コピー ●サイズ切り替え(Sで) ew1@『チェック』はオフ ew2@『チェック』はオフ ew3@『チェック』はオフ ew4@『チェック』はオフ wtb4@『有効』はオン wtb5@『有効』はオン wtb6@『有効』はオン wtb8@『有効』はオン Sで条件分岐 0ならば 線太さ=基本太さ[0] ew1@『チェック』はオン wtb4@『有効』はオフ 1ならば 線太さ=基本太さ[1] ew2@『チェック』はオン wtb5@『有効』はオフ 2ならば 線太さ=基本太さ[2] ew3@『チェック』はオン wtb6@『有効』はオフ 3ならば 線太さ=基本太さ[3] ew4@『チェック』はオン wtb8@『有効』はオフ 違えば stat="error:無効なペンサイズが選択されました" 線太さ=基本太さ[0] S=0 ew1@『チェック』はオン wtb4@『有効』はオフ stat="size:{S}" Sを戻す ●色バー変更 現在色の値はRGB(Rバー,Gバー,Bバー) 基本カラー[現在色のセレクタ]は現在色の値 現在色のセレクタでセレクタ色設定処理 もし(現在ツール!=3)ならば 現在ツール=0でペン切り替え ●色変更 色選択 もしそれが空でなければ 現在色の値=それ 基本カラー[現在色のセレクタ]は現在色の値 もし(現在ツール!=3)ならば 現在ツール=0でペン切り替え 現在色のセレクタでセレクタ色設定処理 現在色のセレクタでパレット切り替え ●スポイトワーク 現在色の値=表示イメージの表示イメージのマウスX,表示イメージのマウスYを画像色取得 基本カラー[現在色のセレクタ]は現在色の値 現在ツール=0でペン切り替え 現在色のセレクタでセレクタ色設定処理 現在色のセレクタでパレット切り替え ●開始処理 INIファイルが存在 もし、それがはいならば、 エラー監視 「{INIファイル}」のINI開いてテキストハンドルに代入 テキストハンドルで「位置」の「X」をINI読んで表示Xに代入 テキストハンドルで「位置」の「Y」をINI読んで表示Yに代入 テキストハンドルで「ファイル」の「場所」をINI読んでスワップファイルに代入 テキストハンドルで「ウィンドウ」の「X」をINI読んで母艦のXに代入 テキストハンドルで「ウィンドウ」の「Y」をINI読んで母艦のYに代入 テキストハンドルで「ウィンドウ」の「W」をINI読んで母艦のWに代入 テキストハンドルで「ウィンドウ」の「H」をINI読んで母艦のHに代入 テキストハンドルで「ツールウィンドウ」の「X」をINI読んでツールパレットのXに代入 テキストハンドルで「ツールウィンドウ」の「Y」をINI読んでツールパレットのYに代入 テキストハンドルで「カラーウィンドウ」の「X」をINI読んでカラーパレットのXに代入 テキストハンドルで「カラーウィンドウ」の「Y」をINI読んでカラーパレットのYに代入 テキストハンドルで「ウィンドウ」の「ウィンドウ状態」をINI読んで母艦のウィンドウ状態に代入 テキストハンドルで「カラー」の「1」をINI読んで基本カラー[0]に代入 テキストハンドルで「カラー」の「2」をINI読んで基本カラー[1]に代入 テキストハンドルで「カラー」の「3」をINI読んで基本カラー[2]に代入 テキストハンドルで「カラー」の「4」をINI読んで基本カラー[3]に代入 テキストハンドルで「カラー」の「5」をINI読んで基本カラー[4]に代入 テキストハンドルで「ツールウィンドウ」の「表示」をINI読んでツールパレットのポケットに代入 テキストハンドルで「カラーウィンドウ」の「表示」をINI読んでカラーパレットのポケットに代入 テキストハンドルで「カラーウィンドウ」の「詳細」をINI読んでカラーシタパネルのポケットに代入 テキストハンドルのINI閉じる エラーならば、 ダイアログタイトルは「{タイトル}:INIエラー」 stat="error : 設定ファイルの読み込みに失敗"; 「設定ファイルを正常に読み込めませんでした。」という。 違えば ツールパレットのポケットは1 カラーパレットのポケットは1 カラーシタパネルのポケットは0 「onePf_{スワップファイル}」が存在 もしそれがいいえならば スワップファイル=「{今日の"/"を""へ置換}{今の":"を""へ置換}.png」 違えば エラー監視 処理イメージの画像は「onePf_{スワップファイル}」 再描画スイッチ=1 エラーならば、 母艦の終了可能は1 ダイアログタイトルは「{タイトル}:ファイルエラー」 stat="error : 対象ファイルの読み込みに失敗"; 「ファイルの展開でエラーが発生しました。{\n}以前までのログが読み込めませんでした。」という 終わる。 ステージ縦バーの値=表示Y+INT(処理イメージのH/2) ステージ横バーの値=表示X+INT(処理イメージのW/2) 5回 「{回数-1}」でセレクタ色設定処理 もしツールパレットのポケットが1ならばツール表示切替 もしカラーパレットのポケットが1ならばパレット表示切替 もしカラーシタパネルのポケットが1ならばカラー詳細表示切替 現在色のセレクタ=0 アンドゥバッファー格納 ●終了処理 stat="bye..."; ステータス更新 母艦のポケットは母艦のウィンドウ状態 母艦を元通り 母艦の可視はオフ カンバスタイマーの停止 0.1秒待つ 「{INIファイル}」のINI開いてテキストハンドルに代入。 テキストハンドルで「位置」の「X」に表示XをINI書く テキストハンドルで「位置」の「Y」に表示YをINI書く テキストハンドルで「ファイル」の「場所」にスワップファイルをINI書く テキストハンドルで「ウィンドウ」の「ウィンドウ状態」に母艦のポケットをINI書く テキストハンドルで「ウィンドウ」の「X」に母艦のXをINI書く テキストハンドルで「ウィンドウ」の「Y」に母艦のYをINI書く テキストハンドルで「ウィンドウ」の「W」に母艦のWをINI書く テキストハンドルで「ウィンドウ」の「H」に母艦のHをINI書く テキストハンドルで「ツールウィンドウ」の「表示」にツールパレットの可視をINI書く テキストハンドルで「ツールウィンドウ」の「X」にツールパレットのXをINI書く テキストハンドルで「ツールウィンドウ」の「Y」にツールパレットのYをINI書く テキストハンドルで「カラーウィンドウ」の「表示」にカラーパレットの可視をINI書く テキストハンドルで「カラーウィンドウ」の「X」にカラーパレットのXをINI書く テキストハンドルで「カラーウィンドウ」の「Y」にカラーパレットのYをINI書く テキストハンドルで「カラーウィンドウ」の「詳細」にカラーシタパネルの可視をINI書く テキストハンドルで「カラー」の「1」に基本カラー[0]をINI書く テキストハンドルで「カラー」の「2」に基本カラー[1]をINI書く テキストハンドルで「カラー」の「3」に基本カラー[2]をINI書く テキストハンドルで「カラー」の「4」に基本カラー[3]をINI書く テキストハンドルで「カラー」の「5」に基本カラー[4]をINI書く テキストハンドルのINI閉じる ツールパレットの可視はオフ カラーパレットの可視はオフ エラー監視 処理イメージを「onePf_{スワップファイル}」へ画像保存 stat="save:{スワップファイル}"; エラーならば、 「ログの保存でエラーが発生しました。{\n}ログが書き込めませんでした。」と言う。 stat="error : ログファイルの書き込みに失敗..."; 母艦の終了可能は1 終わる。 ●ログ格納処理(Sで) S=0 母艦の有効はオフ カンバスタイマーの停止 Fとは文字列=作業フォルダ 「{スワップファイル}」で「*.png;*.bmp;*.jpeg;*.gif」の保存ファイル選択 エラー監視 処理イメージを「{スワップファイル}」へ画像保存 S=1 「保存に成功しました。」という stat="save:{スワップファイル}"; エラーならば、 「ログの保存でエラーが発生しました。{\n}ログが書き込めませんでした。」と言う。 stat="error : ログファイルの書き込みに失敗..."; 作業フォルダ=F カンバスタイマーの開始 母艦の有効はオン Sを戻す ●ステータス更新 母艦ステータス =「{stat}」 バーアシスタンスのテキスト=「{表示X} x {表示Y}」 ●パレット表示切替 もし(カラーパレットの可視=オフ)ならば カラーパレットの可視はオン wp@『チェック』=オン 違えば カラーパレットの可視はオフ wp@『チェック』=オフ ●ツール表示切替 もし(ツールパレットの可視=オフ)ならば ツールパレットの可視はオン wt@『チェック』=オン 違えば ツールパレットの可視はオフ wt@『チェック』=オフ ●バー表示切替 もし(母艦ステータスの可視=オフ)ならば 母艦ステータスの可視はオン 違えば 母艦ステータスの可視はオフ ●カラー詳細表示切替 もし(カラーシタパネルの可視=オフ)ならば カラーパレットのクライアントHは160//115 カラーシタパネルの可視はオン wpb@『チェック』=オン 違えば カラーシタパネルの可視はオフ カラーパレットのクライアントHは(カラーウエパネルのH+カラーミニボタンのH) wpb@『チェック』=オフ ●アバウト /* 「{タイトル} ver,{アプリバージョン}{\n}なでしこエンジン ver,{ナデシコバージョン} {\n}{\t}{アプリ説明}{\n}{\t}Copyright (c)2007 canot All Rights Reserved. 」という */ 文字色は「$cccccc」 文字書体は「MS ゴシック|10|太字」 アバウトPFの32,32へ「ver {アプリバージョン}{~}{アプリ説明}」を文字表示 アバウトPFを中央移動 アバウトPFをモーダル表示 #------------------------------------------------------------------------------- # フィールド #------------------------------------------------------------------------------- ■現在色 ・値{=0} デフォルト ・セレクタ←セレクタ設定→値取得 ・{非公開}設定セレクタ ・{非公開}値取得〜それは設定セレクタ ・{非公開}セレクタ設定(V)〜 設定セレクタ=V Vでセレクタ実行 *セレクタ実行(Nで) 5回 EVAL(「cp{回数}@『チェック』はオフ」) EVAL(「カラーチェッカのXは(カラーパネルのX+カラー{N+1}のX)」) EVAL(「cp{N+1}@『チェック』はオン」) 現在色の値は基本カラー[N] もし(現在ツール!=3)ならば 現在ツール=0でペン切り替え Nでパレット切り替え *セレクタ色設定処理(Sで) Sで条件分岐 0ならば、 カラー1の背景色は基本カラー[S] 1ならば、 カラー2の背景色は基本カラー[S] 2ならば、 カラー3の背景色は基本カラー[S] 3ならば、 カラー4の背景色は基本カラー[S] 4ならば、 カラー5の背景色は基本カラー[S] *パレット切り替え(Sで) RバーはINT(AND(基本カラー[S],$FFFFFF)/$10000) GバーはINT(AND(基本カラー[S],$FFFF)/$100) BバーはAND(基本カラー[S],$FF) #------------------------------------------------------------------------------- # API Package #------------------------------------------------------------------------------- '☆message box ●MessageBox(h,t,c,u) =DLL("user32.dll", "int MessageBoxA(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType)") ●シェル二択(Qと) Aとは整数 もしMessageBox((母艦の、ハンドル),Q,「確認」,$42124)が6ならば //はい A=1 違えば A=0 Aを戻す '☆cursor ●LoadCursor(b,dw) = DLL("user32.dll","DWORD LoadCursorA(BOOL,DWORD)") ●LoadCursorFile(pSTR) = DLL("user32.dll","HCURSOR LoadCursorFromFileA(PCSTR pFileName)") ●SetCursor(dw) = DLL("user32.dll","DWORD SetCursor(DWORD)") ●カーソル取得(CInsのCTipeを) LoadCursor(CIns,CTipe)を戻す ●カーソルファイル取得(CFileを) LoadCursorFile(CFile)を戻す '☆Set window class #IF 64bit /*[moveMe if 64bit]●SetWindowClass(h,i,nl) =DLL("user32.dll", "ULONG_PTR SetClassLongPtr(HWND hWnd,int nIndex,LONG_PTR dwNewLong)")# #ELSE*/ ●SetWindowClass(h,i,nl) =DLL("user32.dll", "LONG SetClassLongA(HWND hWnd,int nIndex,LONG dwNewLong)") #END IF*/ !GCL_HCURSOR=-12//クラスに関連付けられるマウスカーソルのハンドルを書き換えます ●マウスカーソル設定(hWNDをhCurに) SetCursor(hCur) SetWindowClass(hWND,GCL_HCURSOR,hCur)を戻す //Program is end