- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
133 lines
3.7 KiB
C++
133 lines
3.7 KiB
C++
//----------------------------------------------------------------------------
|
|
// ObjectWindows
|
|
// (C) Copyright 1992, 1994 by Borland International, All Rights Reserved
|
|
//
|
|
// Definition of print preview classes
|
|
//----------------------------------------------------------------------------
|
|
#if !defined(OWL_PREVIEW_H)
|
|
#define OWL_PREVIEW_H
|
|
|
|
#if !defined(OWL_WINDOW_H)
|
|
# include <owl/window.h>
|
|
#endif
|
|
|
|
#if !defined(OWL_DC_H)
|
|
# include <owl/dc.h>
|
|
#endif
|
|
|
|
class _OWLCLASS TPrintout;
|
|
class _OWLCLASS TPrinter;
|
|
|
|
//
|
|
// class TPreviewPage
|
|
// ----- ------------
|
|
//
|
|
class _OWLCLASS TPreviewPage : public TWindow {
|
|
public:
|
|
TPreviewPage(TWindow* parent,
|
|
TPrintout& printout,
|
|
TPrintDC& prndc,
|
|
TSize& printExtent,
|
|
int pagenum = 1);
|
|
|
|
void SetPageNumber(int newNum) {PageNum = newNum; if (HWindow) Invalidate();}
|
|
void Paint(TDC& dc, bool, TRect& clip);
|
|
|
|
protected:
|
|
int PageNum;
|
|
TSize PrintExtent;
|
|
TPrintout& Printout;
|
|
TPrintDC& PrintDC;
|
|
|
|
void EvSize(uint sizeType, TSize& size);
|
|
|
|
DECLARE_RESPONSE_TABLE(TPreviewPage);
|
|
DECLARE_CASTABLE;
|
|
};
|
|
|
|
//
|
|
// class TPrintPreviewDC
|
|
// ----- ---------------
|
|
//
|
|
class _OWLCLASS TPrintPreviewDC : public TPrintDC {
|
|
public:
|
|
TPrintPreviewDC(TDC& screen,
|
|
TPrintDC& printdc,
|
|
const TRect& client,
|
|
const TRect& clip);
|
|
~TPrintPreviewDC();
|
|
|
|
//
|
|
// override virtual TDC select & restore functions
|
|
//
|
|
void SelectObject(const TFont& newFont);
|
|
void SelectStockObject(int index);
|
|
void RestoreFont();
|
|
int GetDeviceCaps(int index) const;
|
|
|
|
//
|
|
// Dual DC synchronizing functions
|
|
//
|
|
virtual void SyncFont();
|
|
virtual void ReScale();
|
|
virtual void ReOrg();
|
|
|
|
//
|
|
// override virtual TDC color matching functions
|
|
//
|
|
TColor SetBkColor(TColor color);
|
|
TColor SetTextColor(TColor color);
|
|
|
|
//
|
|
// override virtual TDC viewport & window mapping functions
|
|
//
|
|
int SetMapMode(int mode);
|
|
bool SetViewportOrg(const TPoint& origin, TPoint far* oldOrg=0);
|
|
bool OffsetViewportOrg(const TPoint& delta, TPoint far* oldOrg=0);
|
|
|
|
bool SetViewportExt(const TSize& extent, TSize far* oldExtent=0);
|
|
bool ScaleViewportExt(int xNum, int xDenom, int yNum, int yDenom,
|
|
TSize far* oldExtent=0);
|
|
|
|
bool SetWindowExt(const TSize& extent, TSize far* oldExtent=0);
|
|
bool ScaleWindowExt(int xNum, int xDenom, int yNum, int yDenom,
|
|
TSize far* oldExtent=0);
|
|
|
|
//
|
|
// Screen device point to Logical point conversions
|
|
//
|
|
bool SDPtoLP(TPoint* points, int count = 1) const;
|
|
bool SDPtoLP(TRect& rect) const;
|
|
bool LPtoSDP(TPoint* points, int count = 1) const;
|
|
bool LPtoSDP(TRect& rect) const;
|
|
|
|
protected:
|
|
HFONT PrnFont; // Handle of current font in the printer dc
|
|
TPrintDC& PrnDC; // DC for the printer we are previewing
|
|
TFont* CurrentPreviewFont; // font object in PrnDC used during preview
|
|
|
|
HDC GetAttributeHDC() const;
|
|
};
|
|
|
|
inline bool
|
|
TPrintPreviewDC::SDPtoLP(TPoint* points, int count) const {
|
|
return ::DPtoLP(HDC(Handle), points, count);
|
|
}
|
|
|
|
inline bool
|
|
TPrintPreviewDC::SDPtoLP(TRect& rect) const {
|
|
return SDPtoLP(rect, 2);
|
|
}
|
|
|
|
inline bool
|
|
TPrintPreviewDC::LPtoSDP(TPoint* points, int count) const {
|
|
return ::LPtoDP(HDC(Handle), points, count);
|
|
}
|
|
|
|
inline bool
|
|
TPrintPreviewDC::LPtoSDP(TRect& rect) const {
|
|
return LPtoSDP(rect, 2);
|
|
}
|
|
|
|
#endif // OWL_PREVIEW_H
|