From: <cad...@li...> - 2005-11-22 00:45:04
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns=3D"http://www.w3.org/1999/xhtml"> <head><style type=3D"text/css"><!-- #msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: = #fff; } #msg dt { float: left; width: 6em; font-weight: bold; } #msg dt:after { content:':';} #msg dl, #msg dt, #msg ul, #msg li { font-family: verdana,arial,helvetica= ,sans-serif; font-size: 10pt; } #msg dl a { font-weight: bold} #msg dl a:link { color:#fc3; } #msg dl a:active { color:#ff0; } #msg dl a:visited { color:#cc6; } h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; fo= nt-weight: bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padd= ing: 6px; } #msg ul, pre { overflow: auto; } #patch { width: 100%; } #patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt= ;padding:8px;background:#369;color:#fff;margin:0;} #patch .propset h4, #patch .binary h4 {margin:0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:aut= o;} #patch .propset .diff, #patch .binary .diff {padding:10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patc= h .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins {background:#dfd;text-decoration:none;display:block;padding:0 = 10px;} #patch del {background:#fdd;text-decoration:none;display:block;padding:0 = 10px;} #patch .lines, .info {color:#888;background:#fff;} --></style> <title>[275] tiki/osx/src/TikiMain.m: Tiki: OSX: enable mouseEntered and = moueExited events, show/hide cursor correctly</title> </head> <body> <div id=3D"msg"> <dl> <dt>Revision</dt> <dd>275</dd> <dt>Author</dt> <dd>sam.steele</dd> <dt>Date</dt> <dd>2005-11-21 16:34:33 -0800 (Mon, 21 Nov 2005)</dd> </dl> <h3>Log Message</h3> <pre>Tiki: OSX: enable mouseEntered and moueExited events, show/hide curs= or correctly</pre> <h3>Modified Paths</h3> <ul> <li><a href=3D"#tikiosxsrcTikiMainm">tiki/osx/src/TikiMain.m</a></li> </ul> </div> <div id=3D"patch"> <h3>Diff</h3> <a id=3D"tikiosxsrcTikiMainm"></a> <div class=3D"modfile"><h4>Modified: tiki/osx/src/TikiMain.m (274 =3D> 27= 5)</h4> <pre class=3D"diff"> <span class=3D"info">--- tiki/osx/src/TikiMain.m 2005-11-21 23:37:06 UTC = (rev 274) +++ tiki/osx/src/TikiMain.m 2005-11-22 00:34:33 UTC (rev 275) </span><span class=3D"lines">@@ -82,7 +82,7 @@ </span><span class=3D"cx"> [mainWindow makeKeyAndOrderFront:nil]; </span><span class=3D"cx"> [mainWindow makeFirstResponder:mainView]; </span><span class=3D"cx"> [mainWindow setAcceptsMouseMovedEvents:true];= =20 </span><del>- </del><ins>+=09 </ins><span class=3D"cx"> NSDictionary * originalDisplayMode =3D (NSDict= ionary *) </span><span class=3D"cx"> CGDisplayCurrentMode(kCGDirectMainDisplay); </span><span class=3D"cx"> // depthBits =3D colorBits =3D [[originalDisp= layMode objectForKey: (id)kCGDisplayBitsPerPixel] intValue]; </span><span class=3D"lines">@@ -110,6 +110,8 @@ </span><span class=3D"cx"> CGLSetParameter(cglContext, kCGLCPSwapInterv= al, &param); </span><span class=3D"cx"> } </span><span class=3D"cx">=20 </span><ins>+ [mainView addTrackingRect:[mainView bounds] owner:mainView = userData:nil assumeInside:true]; +=09 </ins><span class=3D"cx"> //// [MapleEventReceiver init]; </span><span class=3D"cx">=20 </span><span class=3D"cx"> // Force us to become threaded. </span><span class=3D"lines">@@ -157,23 +159,13 @@ </span><span class=3D"cx"> // Handle the event we got </span><span class=3D"cx"> type =3D [event type]; </span><span class=3D"cx"> switch (type) { </span><ins>+ case NSMouseEntered: + if(!tikiShowMouse) [NSCursor hide]; + break; + case NSMouseExited: + if(!tikiShowMouse) [NSCursor unhide]; + break; </ins><span class=3D"cx"> case NSMouseMoved: </span><del>- { - NSPoint screenPoint =3D [NSEvent mouseLocation]; - NSRect windowRect =3D [mainWindow frame]; - float xMax =3D windowRect.origin.x + windowRect.size.width; - float yMax =3D windowRect.origin.y + windowRect.size.height; - //NSLog([NSString stringWithFormat:@"Point: (%f, %f) Frame: (%f,= %f) -> (%f, %f)\n", screenPoint.x, screenPoint.y, windowRect.ori= gin.x, windowRect.origin.y, xMax, yMax]); - if(screenPoint.x < windowRect.origin.x || screenPoint.x > xMax = || - screenPoint.y < windowRect.origin.y || screenPoint.y > yMax = || - tikiShowMouse) - { - [NSCursor unhide]; - } - else { - [NSCursor hide]; - } - } </del><span class=3D"cx"> case NSLeftMouseDown: </span><span class=3D"cx"> case NSLeftMouseUp: =09 </span><span class=3D"cx"> case NSRightMouseDown: </span><span class=3D"lines">@@ -184,7 +176,7 @@ </span><span class=3D"cx"> NSRect windowSize =3D [mainWindow frame]; </span><span class=3D"cx"> point.y -=3D windowSize.size.height; </span><span class=3D"cx"> point.y *=3D -1; </span><del>- =09 </del><ins>+ //NSLog([NSString stringWithFormat:@"MouseMove (%f, %= f)\n",point.x,point.y]); </ins><span class=3D"cx"> TikiRecvMouseEvent(event, &point); </span><span class=3D"cx"> =09 </span><span class=3D"cx"> // give the mouse event up to the app, we w= ill also process it though </span></pre> </div> </div> </body> </html> |