すくろーる

 - ふでぱれっと


[戻る]
/*------------------------------------------------------------------------------
  ふでぱれっと
  筆で書いたような絵が描けます。
  転載改造自由
------------------------------------------------------------------------------*/

!母艦設計=「母艦の可視はオフ」

#format-------------------------------------------------------------------------
!タイトル=「ふでぱれっと」
!アプリアバウト=「味のある絵をかける?」
!コピーライト=「(c)2005.12.8 canot」
取り扱いファイル=「」

イメージサイズ@x=400
イメージサイズ@y=400
クリア色=4473924
クリックスイッチ=0

処理位置@x=0
処理位置@y=0

処理位置@x1=0
処理位置@y1=0

インキサイズ=30
インキカラー=「$111100」


#System-------------------------------------------------------------------------
ocw=0;
och=0;
cw=0;
ch=0;
mx=0;
my=0;

ink=0;
stat="starting";

#-------------------------------------------------------------------------------
# GUI Edit
#-------------------------------------------------------------------------------

#定義
#Menu---------------------------------------------------------------------------


,mf,ファイル(&F)
-,f1,新規,Ctrl+F8,,新規紙
-,f2,-
-,f3,名前をつけて保存,Ctrl+S,,図画保存
-,f4,-
-,mfx,閉じる(&X),ESC,,終わる

,mh,ヘルプ(&H)
-,h1,{タイトル}について(&A),,,アバウト
」をメニュー一括作成

#StatusBar----------------------------------------------------------------------
母艦ステータスとはステータスバー

#Stage--------------------------------------------------------------------------
母艦ステージとはスクロールパネル
  

#Image--------------------------------------------------------------------------
表示イメージとはイメージ
レイヤ1とはイメージ
読み込みイメージとはイメージ

位置取得イメージとはイメージ

#設定
#UI Style-----------------------------------------------------------------------  
//main window
母艦について
  タイトルは「{タイトル}」
  クライアントWはイメージサイズ@x+200
  クライアントHはイメージサイズ@y+母艦ステータスの高さ+50
  背景色はクリア色
  母艦を中央移動

//status
母艦ステータスについて
  レイアウトは下
  
//stage
母艦ステージについて
  レイアウトは全体
  
//image
表示イメージについて
  幅はイメージサイズ@x
  高さはイメージサイズ@y
  Xは0
  Yは0
  親部品は母艦ステージ
  可視はオン
  
レイヤ1について
  幅はイメージサイズ@x
  高さはイメージサイズ@y
  可視はオフ
  
読み込みイメージについて
  可視はオフ
  
位置取得イメージについて
  親部品は母艦ステージ
  レイアウトは全体
  可視はオン

//image format
表示イメージを白色で画面クリア
レイヤ1を白色で画面クリア
読み込みイメージを白色で画面クリア

#Ivent--------------------------------------------------------------------------
母艦ステージのサイズ変更した時は~位置調整
位置取得イメージのマウス移動した時は~
  座標取得
  母艦変更イベント


位置取得イメージのマウス押した時は~
  stat="{インキカラー}";
  クリックスイッチ=1
  ink=0
  処理位置@x=mx
  処理位置@y=my
  処理位置@x1=処理位置@x
  処理位置@y1=処理位置@y
  
位置取得イメージのマウス離した時は~
  クリックスイッチ=0
  選択パーツ=0
  

#表示
#onView-------------------------------------------------------------------------
stat=「開始しました。」;

ステータス更新する。
位置調整する。

母艦の可視はオン

#-------------------------------------------------------------------------------
# Mainroutine
#-------------------------------------------------------------------------------

1の間
  インクサイズ判定
  0秒待つ
  母艦変更イベント
ここまで

待機。

#-------------------------------------------------------------------------------
# Subroutine
#-------------------------------------------------------------------------------

*位置調整
  ex@w = 表示イメージのX
  ex@h = 表示イメージのY
  イメージサイズをexでステージ位置調整
  表示イメージのX = ex@w
  表示イメージのY = ex@h

*座標取得
  mx = (位置取得イメージのマウスX-ex@w)-2
  my = (位置取得イメージのマウスY-ex@h)-2
  ステータス更新
  インクサイズ判定
  
*インクサイズ判定
  もし(クリックスイッチ=1)ならば、
    ink=ink+1
    もし(ink>インキサイズ)ならば、ink=インキサイズ
  
  もし(クリックスイッチ=0)ならば、
    ink=ink-1
    もし(ink<0)ならば、ink=0
    
  もし、ink>=1ならば、mxのmyでマウス描画
  
*母艦変更イベント
  もし、((演算中フラグ=0))ならば、
    演算中フラグ=1
    レイヤ1を表示イメージの0,0へ画像コピー
    0.01秒待つ
    描画処理反映
    演算中フラグ=0
  
//menu
*新規紙
  //image format
  レイヤ1を白色で画面クリア
  取り扱いファイル=「」
  stat=「新規。」;
  変更フラグ=1
  母艦変更イベント
  
*図画保存
  「.png」の保存ファイル選択
  もしそれが「」でなければ、
    取り扱いファイル=それ
    表示イメージを「{それ}」に画像保存
    stat=「保存成功。」;
  違えば、
    BEEP
    stat=「保存に失敗…」;
    
*ステータス更新
  母艦ステータス =「{stat} {取り扱いファイル} / {mx} x {my}」
  
*アバウト
  「{タイトル}{\n}{\t}{アプリアバウト}{\n}{\t}{コピーライト}」と言う
  

#-------------------------------------------------------------------------------
# Function
#-------------------------------------------------------------------------------

//対象レイヤーに線を描画
●マウス描画(mxの,myで)
  処理位置@x=mx
  処理位置@y=my
  
  線太さはink
  線色はインキカラー

  レイヤ1の処理位置@x1,処理位置@y1から処理位置@x,処理位置@yへ線
  
  処理位置@x1=処理位置@x
  処理位置@y1=処理位置@y

//内容の位置をオブジェクトの中央に調整
●ステージ位置調整({参照渡し}内容サイズを{参照渡し}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
  ここまで

//Program is end
ふでぱれっと(txt)   ふでぱれっと(nako)

[戻る]
©2005-2006 canot