123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- ////////////////////////////////////////////////////////////////////////////////
- //
- // Copyright 2016 RWS Inc, All Rights Reserved
- //
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of version 2 of the GNU General Public License as published by
- // the Free Software Foundation
- //
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
- //
- // You should have received a copy of the GNU General Public License along
- // with this program; if not, write to the Free Software Foundation, Inc.,
- // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- //
- // RSPiXBlue.h : header file
- //
- #ifndef RSPIXBLUE_H
- #define RSPIXBLUE_H
- ///////////////////////////////////////////////////////////////////////////////
- // Macros.
- ///////////////////////////////////////////////////////////////////////////////
- #define DllExport __declspec( dllexport )
- #define DllImport __declspec( dllimport )
- #ifdef _WINDLL
- #define DLL2EXE DllExport
- #define EXE2DLL DllImport
- #else
- #define DLL2EXE DllImport
- #define EXE2DLL DllExport
- #endif // _WINDLL
- ///////////////////////////////////////////////////////////////////////////////
- // Blue Includes.
- ///////////////////////////////////////////////////////////////////////////////
- #include "common/system.h"
- #include "common/bluewin.h"
- #include "common/bcritic.h"
- #include "common/bdialog.h"
- #include "common/bdisplay.h"
- #include "common/bjoy.h"
- #include "common/bkey.h"
- #include "common/bmain.h"
- #include "common/bmouse.h"
- #include "common/bpalette.h"
- #include "common/wpalette.h"
- #include "common/bparms.h"
- #include "common/bsound.h"
- #include "common/btime.h"
- ///////////////////////////////////////////////////////////////////////////////
- // Green Includes.
- ///////////////////////////////////////////////////////////////////////////////
- #include "image/image.h"
- /////////////////////////////////////////////////////////////////////////////
- // CRSPiXBlue window
- class EXE2DLL CRSPiXBlue : public CStatic
- {
- // Construction
- public:
- CWnd m_wndRSPiX;
- CWnd m_wndPal;
- CImage* m_pim;
- void Redraw(void);
- CRSPiXBlue();
- // Attributes
- public:
- // Operations
- public:
- ////////////////////////////////////////////////////////////////////////////
- // Extensions/Interfaces.
- ////////////////////////////////////////////////////////////////////////////
- // Set the buffer Blue uses to draw and redraw the display.
- void SetDisplayImage(CImage* pim, short sFlip = FALSE);
- // Set the palette Blue uses to draw and redraw the display.
- void SetDisplayPalette(CPal* ppal);
- ////////////////////////////////////////////////////////////////////////////
- // Indirection to Blue calls in the proverbial EXE.
- // NOTE: These are not documented as the WinBlue version could change w/o
- // this file being updated. Please refer to the b*.h or b*.cpp file for
- // details.
- ////////////////////////////////////////////////////////////////////////////
- // BCRITIC.H
- short Blu_RemoveCritical(CRITICALL cc)
- { return ::Blu_RemoveCritical(cc); }
- short Blu_AddCritical(CRITICALL cc, ULONG ulUser)
- { return ::Blu_AddCritical(cc, ulUser); }
- // BDEBUG.H
- #undef TRACE // We will use MFC's TRACE
- #define TRACE ::AfxTrace("%s(%d) :", __FILE__, __LINE__),::AfxTrace
- #undef STRACE
- #define STRACE ::AfxTrace
- // BDIALOG.H
- short Blu_MsgBox(USHORT usFlags, char *pszTitle, char *pszFrmt, ...)
- {
- char szOutput[16384];
- va_list varp;
- // Get pointer to the arguments.
- va_start(varp, pszFrmt);
- // Compose string.
- vsprintf(szOutput, pszFrmt, varp);
- // Done with var arguments.
- va_end(varp);
- return ::Blu_MsgBox(usFlags, pszTitle, szOutput);
- }
- short Blu_OpenBox(char* pszBoxTitle, char *pszFileName, short sStrSize)
- { return ::Blu_OpenBox(pszBoxTitle, pszFileName, sStrSize); }
- short Blu_MultiOpenBox( char* pszBoxTitle,
- char* pszFileNameMemory,
- long lNumBytes,
- char **ppszFileNames,
- short sMaxPtrs,
- short* psNumFiles
- )
- {
- return ::Blu_MultiOpenBox( pszBoxTitle, pszFileNameMemory,
- lNumBytes, ppszFileNames,
- sMaxPtrs, psNumFiles);
- }
- // BDISPLAY.H
- short Blu_CreateDisplay(long lWidth, long lHeight, short sColorDepth)
- { return ::Blu_CreateDisplay(lWidth, lHeight, sColorDepth); }
- void Blu_SetRedrawBuf( void* pvBuf,
- long lBufW, long lBufH,
- long sx, long sy,
- long dx, long dy,
- long lBltW, long lBltH,
- short sColorDepth,
- short sVertFlip = FALSE)
- {
- ::Blu_SetRedrawBuf( pvBuf, lBufW, lBufH, sx, sy, dx, dy,
- lBltW, lBltH, sColorDepth, sVertFlip);
- }
- void Blu_SetDisplayBuf( void* pvBuf, long lWidth, long lHeight,
- short sColorDepth, short sVertFlip = FALSE)
- { ::Blu_SetDisplayBuf(pvBuf, lWidth, lHeight, sColorDepth, sVertFlip); }
- U16* Blu_GetPaletteTranslation(void)
- { return ::Blu_GetPaletteTranslation(); }
- short Blu_UpdateDisplay(long sx, long sy,
- long dx, long dy,
- long w, long h)
- { return ::Blu_UpdateDisplay(sx, sy, dx, dy, w, h); }
- short Blu_SetWindowControls(short sControls)
- { return ::Blu_SetWindowControls(sControls); }
- long Blu_GetDisplayInfo(USHORT usInfo)
- { return ::Blu_GetDisplayInfo(usInfo); }
- short Blu_SetWindowTitle(char *pszTitleNameText)
- { return ::Blu_SetWindowTitle(pszTitleNameText); }
- short Blu_ValidateRect(long lX, long lY, long lW, long lH)
- { return ::Blu_ValidateRect(lX, lY, lW, lH); }
- // BJOY.H
- short Blu_UpdateJoy(short sJoy)
- { return ::Blu_UpdateJoy(sJoy); }
- void Blu_GetJoyPos(short sJoy, long *px, long *py, long *pz)
- { ::Blu_GetJoyPos(sJoy, px, py, pz); }
- void Blu_GetJoyPrevPos(short sJoy, long *px, long *py, long *pz)
- { ::Blu_GetJoyPrevPos(sJoy, px, py, pz); }
- USHORT Blu_GetJoyState(short sJoy)
- { return ::Blu_GetJoyState(sJoy); }
- void Blu_GetJoyState(short sJoy, PJOYSTATE pjs)
- { ::Blu_GetJoyState(sJoy, pjs); }
- USHORT Blu_GetJoyPrevState(short sJoy)
- { return ::Blu_GetJoyPrevState(sJoy); }
- void Blu_GetJoyPrevState(short sJoy, PJOYSTATE pjs)
- { ::Blu_GetJoyPrevState(sJoy, pjs); }
- // BKEY.H
- short Blu_GetKeyboard(PKEYBOARD pkb)
- { return ::Blu_GetKeyboard(pkb); }
- // BMAIN.H
- void Blu_System(void)
- { ::Blu_System(); }
- void Blu_DispatchEvents(short sDispatch)
- { ::Blu_DispatchEvents(sDispatch); }
- // BMOUSE.H
- short Blu_GetMousePos(long* px, long* py)
- { return ::Blu_GetMousePos(px, py); }
- short Blu_SetMousePos(long x, long y)
- { return ::Blu_SetMousePos(x, y); }
- short Blu_GetMouseButton(short sButton)
- { return ::Blu_GetMouseButton(sButton); }
- // BPALETTE.H
- short Blu_SetPalette(PRGBT8 prgbt8, short sIndex, short sNumEntries)
- { return ::Blu_SetPalette(prgbt8, sIndex, sNumEntries); }
- short Blu_SetPalette(PRGBQ8 prgbq8, short sIndex, short sNumEntries)
- { return ::Blu_SetPalette(prgbq8, sIndex, sNumEntries); }
- short Blu_SetPalette(PRGBT5 prgbt5, short sIndex, short sNumEntries)
- { return ::Blu_SetPalette(prgbt5, sIndex, sNumEntries); }
- short Blu_SetPaletteUsage(short sFull)
- { return ::Blu_SetPaletteUsage(sFull); }
- void Blu_SetPaletteWindowVisibility(short sVisible)
- { ::Blu_SetPaletteWindowVisibility(sVisible); }
- // WPALETTE.H
- short Blu_SetPalette(RGBQUAD* prgbq, short sIndex, short sNumEntries)
- { return ::Blu_SetPalette(prgbq, sIndex, sNumEntries); }
- RGBQUAD* Blu_GetPalette(void)
- { return ::Blu_GetPalette(); }
- HWND Blu_GetPaletteWindow(void)
- { return ::Blu_GetPaletteWindow(); }
- // BPARMS.H
- short Blu_GetNumParms(void)
- { return ::Blu_GetNumParms(); }
- char* Blu_GetParm(short sNum)
- { return ::Blu_GetParm(sNum); }
- // BSOUND.H
- long Blu_GetSoundOutWindowSize(void)
- { return ::Blu_GetSoundOutWindowSize(); }
- void Blu_SetSoundOutWindowSize(long lWindowSize)
- { ::Blu_SetSoundOutWindowSize(lWindowSize); }
- long Blu_GetSoundOutPaneSize(void)
- { return ::Blu_GetSoundOutPaneSize(); }
- void Blu_SetSoundOutPaneSize(long lPaneSize)
- { ::Blu_SetSoundOutPaneSize(lPaneSize); }
- short Blu_OpenSoundOut( ULONG ulSampleRate,
- USHORT usBitsPerSample,
- USHORT usNumChannels)
- {
- return ::Blu_OpenSoundOut( ulSampleRate,
- usBitsPerSample,
- usNumChannels);
- }
- short Blu_CloseSoundOut(void)
- { return ::Blu_CloseSoundOut(); }
- short Blu_StartSoundOut(BLU_SND_CALLBACK callback,
- ULONG ulUser)
- { return ::Blu_StartSoundOut(callback, ulUser); }
- short Blu_IsSoundOutOpen(void)
- { return ::Blu_IsSoundOutOpen(); }
- short Blu_ResetSoundOut(void)
- { return ::Blu_ResetSoundOut(); }
- short Blu_PauseSoundOut(void)
- { return ::Blu_PauseSoundOut(); }
- short Blu_ResumeSoundOut(void)
- { return ::Blu_ResumeSoundOut(); }
- long Blu_GetSoundOutPos(void)
- { return ::Blu_GetSoundOutPos(); }
- long Blu_GetSoundOutTime(void)
- { return ::Blu_GetSoundOutTime(); }
- // BTIME.H
- long Blu_GetTime(void)
- { return ::Blu_GetTime(); }
- // SYSINFO
- SYSINFO* GetSysInfo(void)
- { return &gsi; }
- // Additional non-blue.
- // Returns a CWnd* to the RSPiX window.
- CWnd* GetBlueWindow();
-
- // Returns a CWnd* to the palette window.
- CWnd* GetPaletteWindow();
- ////////////////////////////////////////////////////////////////////////////
- // Overrides
- ////////////////////////////////////////////////////////////////////////////
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CRSPiXBlue)
- protected:
- virtual void PreSubclassWindow();
- virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
- //}}AFX_VIRTUAL
- // Implementation
- public:
- virtual ~CRSPiXBlue();
- // Generated message map functions
- protected:
- //{{AFX_MSG(CRSPiXBlue)
- afx_msg void OnDestroy();
- afx_msg void OnSetFocus(CWnd* pOldWnd);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- #endif // RSPIXBLUE_H
|