Win32 2.8.4.0 → 2.8.5.0
raw patch · 3 files changed
+58/−1 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- System.Win32.Exception.Unsupported: instance GHC.Exception.Exception System.Win32.Exception.Unsupported.Unsupported
+ System.Win32.Console: dISABLE_NEWLINE_AUTO_RETURN :: DWORD
+ System.Win32.Console: eNABLE_ECHO_INPUT :: DWORD
+ System.Win32.Console: eNABLE_EXTENDED_FLAGS :: DWORD
+ System.Win32.Console: eNABLE_INSERT_MODE :: DWORD
+ System.Win32.Console: eNABLE_LINE_INPUT :: DWORD
+ System.Win32.Console: eNABLE_LVB_GRID_WORLDWIDE :: DWORD
+ System.Win32.Console: eNABLE_MOUSE_INPUT :: DWORD
+ System.Win32.Console: eNABLE_PROCESSED_INPUT :: DWORD
+ System.Win32.Console: eNABLE_PROCESSED_OUTPUT :: DWORD
+ System.Win32.Console: eNABLE_QUICK_EDIT_MODE :: DWORD
+ System.Win32.Console: eNABLE_VIRTUAL_TERMINAL_INPUT :: DWORD
+ System.Win32.Console: eNABLE_VIRTUAL_TERMINAL_PROCESSING :: DWORD
+ System.Win32.Console: eNABLE_WINDOW_INPUT :: DWORD
+ System.Win32.Console: eNABLE_WRAP_AT_EOL_OUTPUT :: DWORD
+ System.Win32.Console: getConsoleMode :: HANDLE -> IO DWORD
+ System.Win32.Console: setConsoleMode :: HANDLE -> DWORD -> IO ()
+ System.Win32.Exception.Unsupported: instance GHC.Exception.Type.Exception System.Win32.Exception.Unsupported.Unsupported
- Graphics.Win32.Dialogue: DIA_TEMPLATE :: (Ptr DIA_TEMPLATE) -> DIA_TEMPLATE
+ Graphics.Win32.Dialogue: DIA_TEMPLATE :: Ptr DIA_TEMPLATE -> DIA_TEMPLATE
- Graphics.Win32.Dialogue: DialogControl :: Int -> Int -> Int -> Int -> (Either ResourceID String) -> (Either ResourceID String) -> WindowStyle -> DWORD -> Int -> DialogControl
+ Graphics.Win32.Dialogue: DialogControl :: Int -> Int -> Int -> Int -> Either ResourceID String -> Either ResourceID String -> WindowStyle -> DWORD -> Int -> DialogControl
- Graphics.Win32.Dialogue: DialogTemplate :: Int -> Int -> Int -> Int -> WindowStyle -> DWORD -> (Either ResourceID String) -> (Either ResourceID String) -> (Either ResourceID String) -> (Either ResourceID String) -> Int -> [DialogControl] -> DialogTemplate
+ Graphics.Win32.Dialogue: DialogTemplate :: Int -> Int -> Int -> Int -> WindowStyle -> DWORD -> Either ResourceID String -> Either ResourceID String -> Either ResourceID String -> Either ResourceID String -> Int -> [DialogControl] -> DialogTemplate
- Graphics.Win32.Key: c_GetKeyboardLayoutList :: Int -> (Ptr HKL) -> IO UINT
+ Graphics.Win32.Key: c_GetKeyboardLayoutList :: Int -> Ptr HKL -> IO UINT
- System.Win32.DebugApi: peekP :: (Storable a) => PHANDLE -> ForeignAddress -> IO a
+ System.Win32.DebugApi: peekP :: Storable a => PHANDLE -> ForeignAddress -> IO a
- System.Win32.DebugApi: pokeP :: (Storable a) => PHANDLE -> ForeignAddress -> a -> IO ()
+ System.Win32.DebugApi: pokeP :: Storable a => PHANDLE -> ForeignAddress -> a -> IO ()
- System.Win32.File: FindData :: (ForeignPtr WIN32_FIND_DATA) -> FindData
+ System.Win32.File: FindData :: ForeignPtr WIN32_FIND_DATA -> FindData
- System.Win32.File: GET_FILEEX_INFO_LEVELS :: (Word32) -> GET_FILEEX_INFO_LEVELS
+ System.Win32.File: GET_FILEEX_INFO_LEVELS :: Word32 -> GET_FILEEX_INFO_LEVELS
- System.Win32.SimpleMAPI: RecipResolve :: (Maybe HWND) -> MapiFlag -> String -> (Maybe Recipient) -> Recipient
+ System.Win32.SimpleMAPI: RecipResolve :: Maybe HWND -> MapiFlag -> String -> Maybe Recipient -> Recipient
Files
- System/Win32/Console.hsc +51/−0
- Win32.cabal +1/−1
- changelog.md +6/−0
System/Win32/Console.hsc view
@@ -18,6 +18,23 @@ ----------------------------------------------------------------------------- module System.Win32.Console ( + -- * Console mode + getConsoleMode, + setConsoleMode, + eNABLE_ECHO_INPUT, + eNABLE_EXTENDED_FLAGS, + eNABLE_INSERT_MODE, + eNABLE_LINE_INPUT, + eNABLE_MOUSE_INPUT, + eNABLE_PROCESSED_INPUT, + eNABLE_QUICK_EDIT_MODE, + eNABLE_WINDOW_INPUT, + eNABLE_VIRTUAL_TERMINAL_INPUT, + eNABLE_PROCESSED_OUTPUT, + eNABLE_WRAP_AT_EOL_OUTPUT, + eNABLE_VIRTUAL_TERMINAL_PROCESSING, + dISABLE_NEWLINE_AUTO_RETURN, + eNABLE_LVB_GRID_WORLDWIDE, -- * Console code pages getConsoleCP, setConsoleCP, @@ -49,6 +66,40 @@ import Foreign.Storable (Storable(..)) import Foreign.Marshal.Array (peekArray) import Foreign.Marshal.Alloc (alloca) + +foreign import WINDOWS_CCONV unsafe "windows.h GetConsoleMode" + c_GetConsoleMode :: HANDLE -> LPDWORD -> IO BOOL + +foreign import WINDOWS_CCONV unsafe "windows.h SetConsoleMode" + c_SetConsoleMode :: HANDLE -> DWORD -> IO BOOL + +getConsoleMode :: HANDLE -> IO DWORD +getConsoleMode h = alloca $ \ptr -> do + failIfFalse_ "GetConsoleMode" $ c_GetConsoleMode h ptr + peek ptr + +setConsoleMode :: HANDLE -> DWORD -> IO () +setConsoleMode h mode = failIfFalse_ "SetConsoleMode" $ c_SetConsoleMode h mode + +eNABLE_ECHO_INPUT, eNABLE_EXTENDED_FLAGS, eNABLE_INSERT_MODE, eNABLE_LINE_INPUT, + eNABLE_MOUSE_INPUT, eNABLE_PROCESSED_INPUT, eNABLE_QUICK_EDIT_MODE, + eNABLE_WINDOW_INPUT, eNABLE_VIRTUAL_TERMINAL_INPUT, eNABLE_PROCESSED_OUTPUT, + eNABLE_WRAP_AT_EOL_OUTPUT, eNABLE_VIRTUAL_TERMINAL_PROCESSING, + dISABLE_NEWLINE_AUTO_RETURN, eNABLE_LVB_GRID_WORLDWIDE :: DWORD +eNABLE_ECHO_INPUT = 4 +eNABLE_EXTENDED_FLAGS = 128 +eNABLE_INSERT_MODE = 32 +eNABLE_LINE_INPUT = 2 +eNABLE_MOUSE_INPUT = 16 +eNABLE_PROCESSED_INPUT = 1 +eNABLE_QUICK_EDIT_MODE = 64 +eNABLE_WINDOW_INPUT = 8 +eNABLE_VIRTUAL_TERMINAL_INPUT = 512 +eNABLE_PROCESSED_OUTPUT = 1 +eNABLE_WRAP_AT_EOL_OUTPUT = 2 +eNABLE_VIRTUAL_TERMINAL_PROCESSING = 4 +dISABLE_NEWLINE_AUTO_RETURN = 8 +eNABLE_LVB_GRID_WORLDWIDE = 16 foreign import WINDOWS_CCONV unsafe "windows.h GetConsoleCP" getConsoleCP :: IO UINT
Win32.cabal view
@@ -1,5 +1,5 @@ name: Win32-version: 2.8.4.0+version: 2.8.5.0 license: BSD3 license-file: LICENSE author: Alastair Reid, shelarcy, Tamar Christina
changelog.md view
@@ -1,5 +1,11 @@ # Changelog for [`Win32` package](http://hackage.haskell.org/package/Win32) +## *Unreleased version*++## 2.8.5.0 Dec 2019++* Add `getConsoleMode` and `setConsoleMode` (See #137)+ ## 2.8.4.0 *Oct 2019* * Added function `getWindowText`