anchor.diff:  
   procedure TFormMain.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
   begin
  +{$IFNDEF MSWINDOWS}
     if gGameApp <> nil then
       gGameApp.MouseWheel(Shift, WheelDelta, RenderArea.ScreenToClient(MousePos).X, RenderArea.ScreenToClient(MousePos).Y);
  +{$ENDIF}
   end;
   
   
  
positive.code:     procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
      procedure WMExitSizeMove(var Msg: TMessage) ; message WM_EXITSIZEMOVE;
      procedure WMAppCommand(var Msg: TMessage); message WM_APPCOMMAND;
    protected
      procedure WndProc(var Message : TMessage); override;
      {$ENDIF}
  
negative.code: begin
    gMain.Move(GetWindowParams);
  end;
  
  
  procedure TFormMain.WMMouseWheel(var Msg: TMessage);
  var
    MousePos : TPoint;
    KeyState : TKeyboardState;
  begin
    MousePos.X := SmallInt(LoWord(Msg.LParam));
    MousePos.Y := SmallInt(HiWord(Msg.LParam));
    GetKeyboardState(KeyState);
  
    if gGameApp <> nil then
      gGameApp.MouseWheel(KeyboardStateToShiftState(KeyState), SmallInt(HiWord(Msg.WParam)), RenderArea.ScreenToClient(MousePos).X, RenderArea.ScreenToClient(MousePos).Y);
  end;
  {$ENDIF}
  
  
  