From 803ef874920f97ef6ff49996ead5d62bc7052215 Mon Sep 17 00:00:00 2001
From: Julian Smart <julian@anthemion.co.uk>
Date: Tue, 2 Mar 1999 16:21:27 +0000
Subject: [PATCH] Corrected event.h for wxKeyEvent/wxMouseEvent, and
 corresponding docs

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/keyevent.tex | 20 ++++----
 docs/latex/wx/mouseevt.tex | 94 ++++++++++++++++----------------------
 include/wx/event.h         | 15 +++---
 3 files changed, 59 insertions(+), 70 deletions(-)

diff --git a/docs/latex/wx/keyevent.tex b/docs/latex/wx/keyevent.tex
index 1248ec89cf..95552f4206 100644
--- a/docs/latex/wx/keyevent.tex
+++ b/docs/latex/wx/keyevent.tex
@@ -83,31 +83,31 @@ Constructor. Currently, the only valid event types are wxEVT\_CHAR and wxEVT\_CH
 
 \membersection{wxKeyEvent::AltDown}
 
-\func{bool}{AltDown}{\void}
+\constfunc{bool}{AltDown}{\void}
 
 Returns TRUE if the Alt key was down at the time of the key event.
 
 \membersection{wxKeyEvent::ControlDown}
 
-\func{bool}{ControlDown}{\void}
+\constfunc{bool}{ControlDown}{\void}
 
 Returns TRUE if the control key was down at the time of the key event.
 
 \membersection{wxKeyEvent::GetX}
 
-\func{float}{GetX}{\void}
+\constfunc{long}{GetX}{\void}
 
 Returns the X position of the event.
 
 \membersection{wxKeyEvent::GetY}
 
-\func{float}{GetY}{\void}
+\constfunc{long}{GetY}{\void}
 
 Returns the Y position of the event.
 
 \membersection{wxKeyEvent::KeyCode}
 
-\func{long}{KeyCode}{\void}
+\constfunc{long}{KeyCode}{\void}
 
 Returns the virtual key code. ASCII events return normal ASCII values,
 while non-ASCII events return values such as {\bf WXK\_LEFT} for the
@@ -115,19 +115,21 @@ left cursor key. See \helpref{Keycodes}{keycodes} for a full list of the virtual
 
 \membersection{wxKeyEvent::MetaDown}
 
-\func{bool}{MetaDown}{\void}
+\constfunc{bool}{MetaDown}{\void}
 
 Returns TRUE if the Meta key was down at the time of the key event.
 
-\membersection{wxKeyEvent::Position}
+\membersection{wxKeyEvent::GetPosition}
 
-\func{void}{Position}{\param{float *}{x}, \param{float *}{y}}
+\constfunc{wxPoint}{GetPosition}{\void}
+
+\constfunc{void}{GetPosition}{\param{long *}{x}, \param{long *}{y}}
 
 Obtains the position at which the key was pressed.
 
 \membersection{wxKeyEvent::ShiftDown}
 
-\func{bool}{ShiftDown}{\void}
+\constfunc{bool}{ShiftDown}{\void}
 
 Returns TRUE if the shift key was down at the time of the key event.
 
diff --git a/docs/latex/wx/mouseevt.tex b/docs/latex/wx/mouseevt.tex
index 05ea9878c8..ca61af25f7 100644
--- a/docs/latex/wx/mouseevt.tex
+++ b/docs/latex/wx/mouseevt.tex
@@ -85,13 +85,13 @@ TRUE if shift is pressed down.
 
 \membersection{wxMouseEvent::m\_x}
 
-\member{float}{m\_x}
+\member{long}{m\_x}
 
 X-coordinate of the event.
 
 \membersection{wxMouseEvent::m\_y}
 
-\member{float}{m\_y}
+\member{long}{m\_y}
 
 Y-coordinate of the event.
 
@@ -178,28 +178,45 @@ Returns TRUE if the mouse was entering the window (MS Windows and Motif).
 
 See also \helpref{wxMouseEvent::Leaving}{wxmouseeventleaving}.
 
+\membersection{wxMouseEvent::GetPosition}\label{wxmouseeventgetposition}
+
+\constfunc{wxPoint}{GetPosition}{\void}
+
+\constfunc{void}{GetPosition}{\param{long *}{x}, \param{long *}{y}}
+
+Sets *x and *y to the position at which the event occurred.
+
+Returns the physical mouse position in pixels.
+
+\membersection{wxMouseEvent::GetLogicalPosition}\label{wxmouseeventgetlogicalposition}
+
+\constfunc{wxPoint}{GetLogicalPosition}{\param{const wxDC\&}{ dc}}
+
+Returns the logical mouse position in pixels (i.e. translated according to the
+translation set for the DC, which usually indicates that the window has been scrolled).
+
 \membersection{wxMouseEvent::GetX}\label{wxmouseeventgetx}
 
-\func{float}{GetX}{\void}
+\constfunc{long}{GetX}{\void}
 
-Returns X coordinate of the mouse event position.
+Returns X coordinate of the physical mouse event position.
 
 \membersection{wxMouseEvent::GetY}\label{wxmouseeventgety}
 
-\func{float}{GetY}{\void}
+\func{long}{GetY}{\void}
 
-Returns Y coordinate of the mouse event position.
+Returns Y coordinate of the physical mouse event position.
 
 \membersection{wxMouseEvent::IsButton}
 
-\func{bool}{IsButton}{\void}
+\constfunc{bool}{IsButton}{\void}
 
 Returns TRUE if the event was a mouse button event (not necessarily a button down event -
 that may be tested using {\it ButtonDown}).
 
 \membersection{wxMouseEvent::Leaving}\label{wxmouseeventleaving}
 
-\func{bool}{Leaving}{\void}
+\constfunc{bool}{Leaving}{\void}
 
 Returns TRUE if the mouse was leaving the window (MS Windows and Motif).
 
@@ -207,125 +224,94 @@ See also \helpref{wxMouseEvent::Entering}{wxmouseevententering}.
 
 \membersection{wxMouseEvent::LeftDClick}
 
-\func{bool}{LeftDClick}{\void}
+\constfunc{bool}{LeftDClick}{\void}
 
 Returns TRUE if the event was a left double click.
 
 \membersection{wxMouseEvent::LeftDown}
 
-\func{bool}{LeftDown}{\void}
+\constfunc{bool}{LeftDown}{\void}
 
 Returns TRUE if the left mouse button changed to down.
 
 \membersection{wxMouseEvent::LeftIsDown}
 
-\func{bool}{LeftIsDown}{\void}
+\constfunc{bool}{LeftIsDown}{\void}
 
 Returns TRUE if the left mouse button is currently down, independent
 of the current event type.
 
 \membersection{wxMouseEvent::LeftUp}
 
-\func{bool}{LeftUp}{\void}
+\constfunc{bool}{LeftUp}{\void}
 
 Returns TRUE if the left mouse button changed to up.
 
 \membersection{wxMouseEvent::MetaDown}
 
-\func{bool}{MetaDown}{\void}
+\constfunc{bool}{MetaDown}{\void}
 
 Returns TRUE if the Meta key was down at the time of the event.
 
 \membersection{wxMouseEvent::MiddleDClick}
 
-\func{bool}{MiddleDClick}{\void}
+\constfunc{bool}{MiddleDClick}{\void}
 
 Returns TRUE if the event was a middle double click.
 
 \membersection{wxMouseEvent::MiddleDown}
 
-\func{bool}{MiddleDown}{\void}
+\constfunc{bool}{MiddleDown}{\void}
 
 Returns TRUE if the middle mouse button changed to down.
 
 \membersection{wxMouseEvent::MiddleIsDown}
 
-\func{bool}{MiddleIsDown}{\void}
+\constfunc{bool}{MiddleIsDown}{\void}
 
 Returns TRUE if the middle mouse button is currently down, independent
 of the current event type.
 
 \membersection{wxMouseEvent::MiddleUp}
 
-\func{bool}{MiddleUp}{\void}
+\constfunc{bool}{MiddleUp}{\void}
 
 Returns TRUE if the middle mouse button changed to up.
 
 \membersection{wxMouseEvent::Moving}
 
-\func{bool}{Moving}{\void}
+\constfunc{bool}{Moving}{\void}
 
 Returns TRUE if this was a motion event (no buttons depressed).
 
-\membersection{wxMouseEvent::Position}
-
-\func{void}{Position}{\param{float *}{x}, \param{float *}{y}}
-
-Sets *x and *y to the position at which the event occurred. If the
-window is a window, the position is converted to logical units
-(according to the current mapping mode) with scrolling taken into
-account. To get back to device units (for example to calculate where on the
-screen to place a dialog box associated with a window mouse event), use
-\rtfsp{\bf wxDC::LogicalToDeviceX} and {\bf wxDC::LogicalToDeviceY}.
-
-For example, the following code calculates screen pixel coordinates
-from the frame position, window view start (assuming the window is the only
-subwindow on the frame and therefore at the top left of it), and the
-logical event position. A menu is popped up at the position where the
-mouse click occurred. (Note that the application should also check that
-the dialog box will be visible on the screen, since the click could have
-occurred near the screen edge!)
-
-\begin{verbatim}
-  float event_x, event_y;
-  event.Position(&event_x, &event_y);
-  frame->GetPosition(&x, &y);
-  window->ViewStart(&x1, &y1);
-  int mouse_x = (int)(window->GetDC()->LogicalToDeviceX(event_x + x - x1);
-  int mouse_y = (int)(window->GetDC()->LogicalToDeviceY(event_y + y - y1);
-
-  char *choice = wxGetSingleChoice("Menu", "Pick a node action",
-                                 no_choices, choices, frame, mouse_x, mouse_y);
-\end{verbatim}
-
 \membersection{wxMouseEvent::RightDClick}
 
-\func{bool}{RightDClick}{\void}
+\constfunc{bool}{RightDClick}{\void}
 
 Returns TRUE if the event was a right double click.
 
 \membersection{wxMouseEvent::RightDown}
 
-\func{bool}{RightDown}{\void}
+\constfunc{bool}{RightDown}{\void}
 
 Returns TRUE if the right mouse button changed to down.
 
 \membersection{wxMouseEvent::RightIsDown}
 
-\func{bool}{RightIsDown}{\void}
+\constfunc{bool}{RightIsDown}{\void}
 
 Returns TRUE if the right mouse button is currently down, independent
 of the current event type.
 
 \membersection{wxMouseEvent::RightUp}
 
-\func{bool}{RightUp}{\void}
+\constfunc{bool}{RightUp}{\void}
 
 Returns TRUE if the right mouse button changed to up.
 
 \membersection{wxMouseEvent::ShiftDown}
 
-\func{bool}{ShiftDown}{\void}
+\constfunc{bool}{ShiftDown}{\void}
 
 Returns TRUE if the shift key was down at the time of the event.
 
diff --git a/include/wx/event.h b/include/wx/event.h
index c74f328aae..a5242d2890 100644
--- a/include/wx/event.h
+++ b/include/wx/event.h
@@ -517,6 +517,7 @@ public:
     bool Leaving() const { return (m_eventType == wxEVT_LEAVE_WINDOW); }
 
     // Find the position of the event
+    void GetPosition(long *xpos, long *ypos) const { *xpos = m_x; *ypos = m_y; }
     void Position(long *xpos, long *ypos) const { *xpos = m_x; *ypos = m_y; }
 
     // Find the position of the event
@@ -575,18 +576,18 @@ public:
     bool ShiftDown() const { return m_shiftDown; }
     long KeyCode() const { return m_keyCode; }
 
-#if WXWIN_COMPATIBILITY
     // Find the position of the event
-    void Position(float *xpos, float *ypos) const
-        { *xpos = (float)m_x; *ypos = (float)m_y; }
+    void GetPosition(long *xpos, long *ypos) const
+        { *xpos = m_x; *ypos = m_y; }
+
+    wxPoint GetPosition() const
+        { return wxPoint(m_x, m_y); }
 
     // Get X position
-    float GetX() const { return (float)m_x; }
+    long GetX() const { return m_x; }
 
     // Get Y position
-    float GetY() const { return (float)m_y; }
-
-#endif // WXWIN_COMPATIBILITY
+    long GetY() const { return m_y; }
 
 public:
     long          m_x;
-- 
2.45.2

