投稿者 トピック: [r3371] ウィンドウがドラッグできない  (参照数 3920 回)

z9999+

  • 管理人
  • 急行
  • *
  • 投稿: 381
ウィンドウがうまくドラッグできない。
リサイズボタン、スクロールバー、クローズボックスなどの動作がおかしい。

修正案:r3370の変更を元に戻す
コード: [選択]
Index: simwin.cc
===================================================================
--- simwin.cc (リビジョン 3371)
+++ simwin.cc (作業コピー)
@@ -794,7 +794,7 @@
  for(  int i=wins.get_count()-1;  i>=0  &&  !swallowed;  i=min(i,wins.get_count())-1  ) {
 
  // check click inside window
- if(  wins[i].gui->getroffen( ev->mx-wins[i].pos.x, ev->my-wins[i].pos.y )  ) {
+ if(  wins[i].gui->getroffen( ev->cx-wins[i].pos.x, ev->cy-wins[i].pos.y )  ) {
 
  inside_event_handling = wins[i].gui;
 
@@ -802,18 +802,18 @@
  swallowed = true;
 
  // Top window first
- if((int)wins.get_count()-1>i  &&  IS_LEFTCLICK(ev)  &&  (!wins[i].rollup  ||  ( ev->my < wins[i].pos.y+16 ))) {
+ if((int)wins.get_count()-1>i  &&  IS_LEFTCLICK(ev)  &&  (!wins[i].rollup  ||  ( ev->cy < wins[i].pos.y+16 ))) {
  i = top_win(i);
  }
 
  // Hajo: if within title bar && window needs decoration
- if( ev->my < wins[i].pos.y+16 ) {
+ if( ev->cy < wins[i].pos.y+16 ) {
 
  // %HACK (Mathew Hounsell) So decode will know if gadget is needed.
  wins[i].flags.help = ( wins[i].gui->get_hilfe_datei() != NULL );
 
  // Where Was It ?
- simwin_gadget_et code = decode_gadget_boxes( ( & wins[i].flags ), wins[i].pos.x + (REVERSE_GADGETS?0:wins[i].gui->get_fenstergroesse().x-20), ev->mx );
+ simwin_gadget_et code = decode_gadget_boxes( ( & wins[i].flags ), wins[i].pos.x + (REVERSE_GADGETS?0:wins[i].gui->get_fenstergroesse().x-20), ev->cx );
 
  switch( code ) {
  case GADGET_CLOSE :
@@ -882,8 +882,8 @@
 
  // resizer hit ?
  const bool canresize = is_resizing ||
- (ev->mx > wins[i].pos.x + gr.x - dragger_size &&
- ev->my > wins[i].pos.y + gr.y - dragger_size);
+ (ev->cx > wins[i].pos.x + gr.x - dragger_size &&
+ ev->cy > wins[i].pos.y + gr.y - dragger_size);
 
  if((IS_LEFTCLICK(ev) || IS_LEFTDRAG(ev)) && canresize && gui->get_resizemode() != gui_fenster_t::no_resize) {
  // Hajo: go into resize mode


z9999+

  • 管理人
  • 急行
  • *
  • 投稿: 381
r3395
上記のパッチが通らなくなったので更新。
スクロールバー、クローズボタンの動作不良の修正

コード: [選択]
Index: simwin.cc
===================================================================
--- simwin.cc (リビジョン 3395)
+++ simwin.cc (作業コピー)
@@ -827,19 +827,19 @@
  // handle all the other events
  for(  int i=wins.get_count()-1;  i>=0  &&  !swallowed;  i=min(i,wins.get_count())-1  ) {
 
- if(  wins[i].gui->getroffen( ev->mx-wins[i].pos.x, ev->my-wins[i].pos.y )  ) {
+ if(  wins[i].gui->getroffen( ev->cx-wins[i].pos.x, ev->cy-wins[i].pos.y )  ) {
  // all events in window are swallowed
  swallowed = true;
 
  inside_event_handling = wins[i].gui;
 
  // Top window first
- if((int)wins.get_count()-1>i  &&  IS_LEFTCLICK(ev)  &&  (!wins[i].rollup  ||  ( ev->my < wins[i].pos.y+16 ))) {
+ if((int)wins.get_count()-1>i  &&  IS_LEFTCLICK(ev)  &&  (!wins[i].rollup  ||  ( ev->cy < wins[i].pos.y+16 ))) {
  i = top_win(i);
  }
 
  // Hajo: if within title bar && window needs decoration
- if(  ev->my < wins[i].pos.y+16  ) {
+ if(  ev->cy < wins[i].pos.y+16  ) {
  // no more moving
  is_moving = -1;
 
@@ -847,7 +847,7 @@
  wins[i].flags.help = ( wins[i].gui->get_hilfe_datei() != NULL );
 
  // Where Was It ?
- simwin_gadget_et code = decode_gadget_boxes( ( & wins[i].flags ), wins[i].pos.x + (REVERSE_GADGETS?0:wins[i].gui->get_fenstergroesse().x-20), ev->mx );
+ simwin_gadget_et code = decode_gadget_boxes( ( & wins[i].flags ), wins[i].pos.x + (REVERSE_GADGETS?0:wins[i].gui->get_fenstergroesse().x-20), ev->cx );
 
  switch( code ) {
  case GADGET_CLOSE :
@@ -916,8 +916,8 @@
 
  // resizer hit ?
  const bool canresize = is_resizing>=0 ||
- (ev->mx > wins[i].pos.x + gr.x - dragger_size &&
- ev->my > wins[i].pos.y + gr.y - dragger_size);
+ (ev->cx > wins[i].pos.x + gr.x - dragger_size &&
+ ev->cy > wins[i].pos.y + gr.y - dragger_size);
 
  if((IS_LEFTCLICK(ev)  ||  IS_LEFTDRAG(ev)  ||  IS_LEFTREPEAT(ev))  &&  canresize  &&  wins[i].gui->get_resizemode()!=gui_fenster_t::no_resize) {
  resize_win( i, ev );




r3397で修正されました。
« 最終編集: 2010/06/01 21:22 by z9999+ »