home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / VPR_DATA / DOGA / SOURCES / POLYEDIT.LZH / MACRO / CONTROL.M < prev    next >
Text File  |  1996-08-01  |  4KB  |  155 lines

  1. function MouseSetup()
  2. {
  3.     var temp;
  4.     var dispgrid;
  5.  
  6.     dispgrid = sliderconv1( mouse_grid );
  7.     DlogOpen( "3Dカーソル移動量設定", 1 );
  8.     DlogSlider( 0, "3Dカーソル移動量", SLIDER_HABA, MAX_SLIDER_NUM1, dispgrid, gridconv1 );
  9.     if ( DlogWait() )
  10.     {
  11.         dispgrid = DlogAnswer( 0 );
  12.         mouse_grid = gridconv1( dispgrid );
  13.         SetGrid( mesh_grid, mouse_grid );
  14.     }
  15. }
  16. function ButtonDisp()
  17. {
  18.     if( buttondisp_flag == ON )
  19.     {
  20.         buttondisp_flag = OFF;
  21.         ButtonArea( 0 );
  22.     }
  23.     else
  24.     {
  25.         buttondisp_flag = ON;
  26.         ButtonArea( BUTTONAREA );
  27.     }
  28.     UpdateButton();
  29. }
  30.  
  31. function ChangeHeimenTosha()
  32. {
  33.     tosha_flag = !tosha_flag;
  34. }
  35.  
  36. function ChangeSelectMode()
  37. {
  38.     if( AreaMode == SELECT_SUB )
  39.         AreaMode = SELECT_ALL;
  40.     else
  41.         AreaMode = SELECT_SUB;
  42. }
  43.  
  44. function private ChangeEnvironment()
  45. {
  46.     var    temp, msg1[2], msg2[2];
  47.  
  48.     msg1 = {"  左  ","  右  "};
  49.     msg2 = {"OFF"," ON "};
  50.  
  51.     DlogOpen( "環境設定", 15, "  キャンセル ","環境保存" );
  52.     DlogString(  0, "編集できるポリゴンデータの上限(KB)", Modelrc("BufferSize" ), 20 );
  53.     DlogString(  2, "最大オブジェクト数                ", Modelrc("Object" ), 20 );
  54.     DlogString(  4, "最大アトリビュート数              ", Modelrc("Attr" ), 20 );
  55.     DlogString(  6, "1ポリゴンの最大頂点数            ", Modelrc("Vertex" ), 20 );
  56.     DlogSelect(  8, "3Dカーソル移動のマウスボタン    ", msg1, atoi(Modelrc("Input_left")));
  57.     DlogSelect( 10, "エキスパートモード                ", msg2, atoi(Modelrc("Expert" )));
  58.     DlogSelect( 12, "メッセージ表示                    ", msg2, atoi(Modelrc("Message")));
  59.     DlogMessage( 14, "注意:環境は次回の起動から有効です" );
  60.  
  61.     if( DlogWait())
  62.     {
  63.         temp = atoi( DlogAnswer(0));
  64.         if( temp > 0 )
  65.             Modelrc( "BufferSize", tostring(temp));
  66.         temp = atoi( DlogAnswer( 2 ));
  67.         if( temp > 0 )
  68.             Modelrc( "Object", tostring(temp));
  69.         temp = atoi( DlogAnswer( 4 ));
  70.         if( temp > 0 )
  71.             Modelrc( "Attr", tostring(temp));
  72.         temp = atoi( DlogAnswer( 6 ));
  73.         if( temp > 0 )
  74.             Modelrc( "Vertex", tostring(temp));
  75.         temp = DlogAnswer( 8 );
  76.         Modelrc( "Input_left", tostring(temp));
  77.         temp = DlogAnswer( 10 );
  78.         Modelrc( "Expert", tostring(temp));
  79.         temp = DlogAnswer( 12 );
  80.         Modelrc( "Message", tostring(temp));
  81.     }
  82. }
  83.  
  84. function private ChangeDefault()
  85. {
  86.     var    temp, msg[2];
  87.  
  88.     msg = {"OFF"," ON "};
  89.  
  90.     DlogOpen( "初期値設定", 15, "  キャンセル ","環境保存" );
  91.     DlogString(  0, "画面倍率     ", Modelrc("DefaultZoomSize" ), 20 );
  92.     DlogSelect(  2, "点表示       ", msg, atoi(Modelrc("DefaultVertexDisp")));
  93.     DlogSelect(  4, "メッシュ表示 ", msg, atoi(Modelrc("DefaultMeshDisp")));
  94.     DlogString(  6, "メッシュ幅   ", Modelrc("DefaultMeshWidth"), 20 );
  95.     DlogSelect(  8, "法線表示     ", msg, atoi(Modelrc("DefaultNormalVecDisp")));
  96.     DlogSelect( 10, "面の方向表示 ", msg, atoi(Modelrc("DefaultPolyVecDisp")));
  97.     DlogString( 12, "マウス移動量 ", Modelrc("DefaultMouseMove"), 20 );
  98.     DlogMessage( 14, "注意:環境は次回の起動から有効です" );
  99.  
  100.     if( DlogWait())
  101.     {
  102.         temp = atoi( DlogAnswer(0));
  103.         Modelrc( "DefaultZoomSize", tostring(temp));
  104.         temp = DlogAnswer( 2 );
  105.         Modelrc( "DefaultVertexDisp", tostring(temp));
  106.         temp = DlogAnswer( 4 );
  107.         Modelrc( "DefaultMeshDisp", tostring(temp));
  108.         temp = atoi( DlogAnswer( 6 ));
  109.         if( temp > 0 )
  110.             Modelrc( "DefaultMeshWidth", tostring(temp));
  111.         temp = DlogAnswer( 8 );
  112.         Modelrc( "DefaultNormalVecDisp", tostring(temp));
  113.         temp = DlogAnswer( 10 );
  114.         Modelrc( "DefaultPolyVecDisp", tostring(temp));
  115.         temp = atoi(DlogAnswer( 12 ));
  116.         if( temp > 0 )
  117.             Modelrc( "DefaultMouseMove", tostring(temp));
  118.     }
  119.  
  120. }
  121.  
  122. function private Check_flag()
  123. {
  124.     var    temp;
  125.  
  126.     temp = MenuFunction();
  127.     if( temp == ButtonDisp )
  128.     {
  129.         if( buttondisp_flag == ON )
  130.             MenuEnable( MENU_CHECK );
  131.         else
  132.             MenuEnable( MENU_NOCHECK );
  133.     }
  134.     else if( temp == ChangeSelectMode )
  135.     {
  136.         if( AreaMode == SELECT_ALL )
  137.             MenuEnable( MENU_CHECK );
  138.         else
  139.             MenuEnable( MENU_NOCHECK );
  140.     }
  141. }
  142.  
  143. MenuPosition(
  144.     Menu( " 操作設定(&S)",
  145.         "カーソル移動量設定...(&M)",MouseSetup,
  146.         "-----------------",    SEPARATE_MENU,
  147.         "ボタン表示(&B)",            ButtonDisp,Check_flag,
  148.         "自動平面投射(&A)",        ChangeHeimenTosha,Check_Toshaflag,
  149.         "範囲内の面を選択(&S)",    ChangeSelectMode,Check_flag,
  150.         "-----------------",    SEPARATE_MENU,
  151.         "環境設定...(&O)",            ChangeEnvironment,
  152.         "デフォルト値設定...(&D)",        ChangeDefault
  153.     ), Menu_control
  154. );
  155.