You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PDCursesMod/wincon
Emmanuel Mathi-Amorim a1399a3efc WINCON: Send real mouse position with scroll event
Previously PDCurses would send (X,Y) coordinates (-1,-1) when processing a scroll event. Bring the behavior inline with ncurses and send the actual mouse position.
6 years ago
..
CMakeLists.txt Copied over wmcbrine branch a little too eagerly : it lacks CMakeLists.txt files 6 years ago
Makefile Modified version of wmcbrine Makefile, for cross-compilation. 6 years ago
Makefile.bcc Switched out my Windows console code and switched in wmcbrine code (with minor additions of new functions) 6 years ago
Makefile.dmc WinCon builds with Digital Mars compiler require -DHAVE_NO_INFOEX 6 years ago
Makefile.mng WinCon 'Makefile.mng' : reinstated E = .exe (thank you to Mário Matos for pointing this out). Reinstated INFOEX=N flag. 6 years ago
Makefile.vc Followed wmcbrine lead in putting suppression of MSVC bogus warnings into platform-specific include files, and not in 'curspriv.h' or makefiles. 'curspriv.h' altered to follow wmcbrine's style. 6 years ago
Makefile.wcc Switched out my Windows console code and switched in wmcbrine code (with minor additions of new functions) 6 years ago
README.md Switched out my Windows console code and switched in wmcbrine code (with minor additions of new functions) 6 years ago
pdcclip.c MSVC gave numerous warnings for casts and similar issues. Mostly nuisances, but they are fixed herein. 6 years ago
pdcdisp.c Eliminated CHTYPE_16 (16-bit chtype) option. Default remains 64-bit chtypes, and one can #define CHTYPE_32 to get 32-bit chtypes. Mostly just meant I could chop out vast amounts of code, and CHTYPE_LONG is gone. 6 years ago
pdcgetsc.c Switched out my Windows console code and switched in wmcbrine code (with minor additions of new functions) 6 years ago
pdckbd.c WINCON: Send real mouse position with scroll event 6 years ago
pdcscrn.c PDC_init_color() now takes integers, not shorts. This had some small ripple effects. 6 years ago
pdcsetsc.c Switched out my Windows console code and switched in wmcbrine code (with minor additions of new functions) 6 years ago
pdcutil.c Switched out my Windows console code and switched in wmcbrine code (with minor additions of new functions) 6 years ago
pdcwin.h Switched out my Windows console code and switched in wmcbrine code (with minor additions of new functions) 6 years ago

README.md

PDCurses for Windows console

This directory contains PDCurses source code files specific to the Microsoft Windows console. Although historically called "Win32", this port can just as easily be built for 64-bit systems. Windows 95 through Windows 10 are covered. (Some features require later versions.)

Building

  • Choose the appropriate makefile for your compiler:

      Makefile      - GCC (MinGW or Cygnus)
      Makefile.bcc  - Borland C++
      Makefile.vc   - Microsoft Visual C++
      Makefile.wcc  - Watcom
    
  • Optionally, you can build in a different directory than the platform directory by setting PDCURSES_SRCDIR to point to the directory where you unpacked PDCurses, and changing to your target directory:

      set PDCURSES_SRCDIR=c:\pdcurses
    
  • Build it:

      make -f makefilename
    

    (For Watcom, use "wmake" instead of "make"; for MSVC, "nmake"; for MinGW, "mingw32-make".) You'll get the library (pdcurses.lib or .a, depending on your compiler) and a lot of object files.

    You can also give the optional parameter "WIDE=Y", to build the library with wide-character (Unicode) support:

      wmake -f Makefile.wcc WIDE=Y
    

    When built this way, the library is not compatible with Windows 9x, unless you also link with the Microsoft Layer for Unicode (not tested).

    Another option, "UTF8=Y", makes PDCurses ignore the system locale, and treat all narrow-character strings as UTF-8. This option has no effect unless WIDE=Y is also set. Use it to get around the poor support for UTF-8 in the Windows console:

      make -f Makefile.bcc WIDE=Y UTF8=Y
    

    You can also use the optional parameter "DLL=Y" with Visual C++, MinGW or Cygwin, to build the library as a DLL:

      nmake -f Makefile.vc WIDE=Y DLL=Y
    

    When you build the library as a Windows DLL, you must always define PDC_DLL_BUILD when linking against it. (Or, if you only want to use the DLL, you could add this definition to your curses.h.)

    Add the target "demos" to build the sample programs.

  • If your build stops with errors about PCONSOLE_SCREEN_BUFFER_INFOEX, add the parameter "INFOEX=N" to your make command line and try again. (This will happen with older compile environments.)

Distribution Status

The files in this directory are released to the public domain.

Acknowledgements

Windows console port was originally provided by Chris Szurgot szurgot@itribe.net