X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce1ecc6d48415cf3b348e42b1e53ae2333d9098a..87df17a11b0017d31c09f767bd921abb27193bee:/src/stc/ScintillaWX.cpp?ds=sidebyside

diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp
index 9f19ebbca9..30a896b903 100644
--- a/src/stc/ScintillaWX.cpp
+++ b/src/stc/ScintillaWX.cpp
@@ -95,6 +95,7 @@ ScintillaWX::ScintillaWX(wxStyledTextCtrl* win) {
     wMain = win;
     wDraw = win;
     stc   = win;
+    wheelRotation = 0;
     Initialise();
 }
 
@@ -363,6 +364,22 @@ void ScintillaWX::DoVScroll(int type, int pos) {
     ScrollTo(topLineNew);
 }
 
+
+void ScintillaWX::DoMouseWheel(int rotation, int delta, int linesPerAction) {
+    int topLineNew = topLine;
+    int lines;
+
+    wheelRotation += rotation;
+    lines = wheelRotation / delta;
+    wheelRotation -= lines * delta;
+    if (lines != 0) {
+        lines *= linesPerAction;
+        topLineNew -= lines;
+        ScrollTo(topLineNew);
+    }
+}
+
+
 void ScintillaWX::DoSize(int width, int height) {
     PRectangle rcClient(0,0,width,height);
     SetScrollBarsTo(rcClient);
@@ -473,13 +490,16 @@ void ScintillaWX::DoDragLeave() {
 // Redraw all of text area. This paint will not be abandoned.
 void ScintillaWX::FullPaint() {
     paintState = painting;
-//      rcPaint = GetTextRectangle();
-//      wxClientDC dc(wMain.GetID());
-//      Surface surfaceWindow;
-//      surfaceWindow.Init(&dc);
-//      Paint(&surfaceWindow, rcPaint);
-//      surfaceWindow.Release();
-    wMain.GetID()->Refresh(FALSE);
+    rcPaint = GetTextRectangle();
+    paintingAllText = true;
+    wxClientDC dc(wMain.GetID());
+    Surface surfaceWindow;
+    surfaceWindow.Init(&dc);
+    Paint(&surfaceWindow, rcPaint);
+    surfaceWindow.Release();
+
+//     wMain.GetID()->Refresh(FALSE);
+
     paintState = notPainting;
 }