summaryrefslogtreecommitdiffstats
path: root/qt/PlatQt.cpp
diff options
context:
space:
mode:
authorSlávek Banko <[email protected]>2021-12-09 01:40:38 +0100
committerSlávek Banko <[email protected]>2021-12-09 02:07:16 +0100
commit347f0b28701932eba7eb063d9093e446b81debae (patch)
treeb6941843b550f83221b13a3b2643b5a95cd428db /qt/PlatQt.cpp
parent5da5cb1c824c608159126a82011d8a8943b360e0 (diff)
downloadtqscintilla-347f0b28701932eba7eb063d9093e446b81debae.tar.gz
tqscintilla-347f0b28701932eba7eb063d9093e446b81debae.zip
Rename Qt => TQt.
Signed-off-by: Slávek Banko <[email protected]>
Diffstat (limited to 'qt/PlatQt.cpp')
-rw-r--r--qt/PlatQt.cpp936
1 files changed, 0 insertions, 936 deletions
diff --git a/qt/PlatQt.cpp b/qt/PlatQt.cpp
deleted file mode 100644
index 0f46659..0000000
--- a/qt/PlatQt.cpp
+++ /dev/null
@@ -1,936 +0,0 @@
-// This module implements the portability layer for the TQt port of Scintilla.
-//
-// Copyright (c) 2006
-// Riverbank Computing Limited <[email protected]>
-//
-// This file is part of TQScintilla.
-//
-// This copy of TQScintilla is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2, or (at your option) any
-// later version.
-//
-// TQScintilla is supplied 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
-// TQScintilla; see the file LICENSE. If not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-
-#include <tqapplication.h>
-#include <tqwidget.h>
-#include <tqfont.h>
-#include <tqpixmap.h>
-#include <tqimage.h>
-#include <tqstring.h>
-#include <tqlistbox.h>
-#include <tqpopupmenu.h>
-#include <tqdatetime.h>
-#include <tqpainter.h>
-#include <tqcursor.h>
-#include <tqlibrary.h>
-
-#include "Platform.h"
-#include "XPM.h"
-
-#include "qextscintillabase.h"
-
-
-// Type convertors.
-static TQFont *PFont(FontID id)
-{
- return reinterpret_cast<TQFont *>(id);
-}
-
-static TQPainter *PSurface(SurfaceID id)
-{
- return reinterpret_cast<TQPainter *>(id);
-}
-
-static TQWidget *PWindow(WindowID id)
-{
- return reinterpret_cast<TQWidget *>(id);
-}
-
-static TQPopupMenu *PMenu(MenuID id)
-{
- return reinterpret_cast<TQPopupMenu *>(id);
-}
-
-
-// Create a Point instance from a long value.
-Point Point::FromLong(long lpoint)
-{
- return Point(Platform::LowShortFromLong(lpoint),
- Platform::HighShortFromLong(lpoint));
-}
-
-
-// Colour palette management. The TQt interface to colours means this class
-// doesn't have to do anything.
-Palette::Palette()
-{
- used = 0;
- allowRealization = false;
-}
-
-Palette::~Palette()
-{
- Release();
-}
-
-void Palette::Release()
-{
- used = 0;
-}
-
-void Palette::WantFind(ColourPair &cp,bool want)
-{
- if (!want)
- cp.allocated.Set(cp.desired.AsLong());
-}
-
-void Palette::Allocate(Window &)
-{
-}
-
-
-// Font management.
-Font::Font() : id(0)
-{
-}
-
-Font::~Font()
-{
-}
-
-void Font::Create(const char *faceName,int,int size,bool bold,bool italic,bool)
-{
- Release();
-
- TQFont *f = new TQFont();
-
- // If name of the font begins with a '-', assume, that it is an XLFD.
- if (faceName[0] == '-')
- f -> setRawName(faceName);
- else
- {
- f -> setFamily(faceName);
- f -> setPointSize(size);
- f -> setBold(bold);
- f -> setItalic(italic);
- }
-
- id = f;
-}
-
-void Font::Release()
-{
- if (id)
- {
- delete PFont(id);
- id = 0;
- }
-}
-
-
-// A surface abstracts a place to draw.
-class SurfaceImpl : public Surface
-{
-public:
- SurfaceImpl();
- virtual ~SurfaceImpl();
-
- void Init(WindowID);
- void Init(SurfaceID sid,WindowID);
- void InitPixMap(int width,int height,Surface *surface_,WindowID);
-
- void Release();
- bool Initialised() {return painter;}
- void PenColour(ColourAllocated fore);
- int LogPixelsY() {return 72;}
- int DeviceHeightFont(int points) {return points;}
- void MoveTo(int x_,int y_) {painter -> moveTo(x_,y_);}
- void LineTo(int x_,int y_) {painter -> lineTo(x_,y_);}
- void Polygon(Point *pts,int npts,ColourAllocated fore,
- ColourAllocated back);
- void RectangleDraw(PRectangle rc,ColourAllocated fore,
- ColourAllocated back);
- void FillRectangle(PRectangle rc,ColourAllocated back);
- void FillRectangle(PRectangle rc,Surface &surfacePattern);
- void RoundedRectangle(PRectangle rc,ColourAllocated fore,
- ColourAllocated back);
- void AlphaRectangle(PRectangle rc, int cornerSize,
- ColourAllocated fill, int alphaFill,
- ColourAllocated outline, int alphaOutline, int flags);
- void Ellipse(PRectangle rc,ColourAllocated fore,ColourAllocated back);
- void Copy(PRectangle rc,Point from,Surface &surfaceSource);
-
- void DrawTextNoClip(PRectangle rc,Font &font_,int ybase,const char *s,
- int len,ColourAllocated fore,ColourAllocated back);
- void DrawTextClipped(PRectangle rc,Font &font_,int ybase,const char *s,
- int len,ColourAllocated fore,
- ColourAllocated back);
- void DrawTextTransparent(PRectangle rc,Font &font_,int ybase,
- const char *s,int len,ColourAllocated fore);
- void MeasureWidths(Font &font_,const char *s,int len,int *positions);
- int WidthText(Font &font_,const char *s,int len);
- int WidthChar(Font &font_,char ch);
- int Ascent(Font &font_);
- int Descent(Font &font_);
- int InternalLeading(Font &font_) {return 0;}
- int ExternalLeading(Font &font_);
- int Height(Font &font_);
- int AverageCharWidth(Font &font_) {return WidthChar(font_,'n');}
-
- int SetPalette(Palette *,bool) {return 0;}
- void SetClip(PRectangle rc);
- void FlushCachedState() {painter -> flush();}
-
- void SetUnicodeMode(bool unicodeMode_) {unicodeMode = unicodeMode_;}
- void SetDBCSMode(int codePage) {}
-
- void DrawXPM(PRectangle rc,const XPM *xpm);
-
-private:
- void commonInit(TQPainter *painter_,bool mypainter_);
- bool setFont(Font &font_);
- TQString convertText(const char *s,int len);
- static TQRgb convertTQRgb(const ColourAllocated &col, unsigned alpha);
- static TQColor convertTQColor(const ColourAllocated &col,
- unsigned alpha = 0xff);
-
- bool unicodeMode;
- bool mypainter;
- TQPainter *painter;
-};
-
-Surface *Surface::Allocate()
-{
- return new SurfaceImpl;
-}
-
-SurfaceImpl::SurfaceImpl() : unicodeMode(false), mypainter(false), painter(0)
-{
-}
-
-SurfaceImpl::~SurfaceImpl()
-{
- Release();
-}
-
-void SurfaceImpl::commonInit(TQPainter *painter_,bool mypainter_)
-{
- Release();
-
- painter = painter_;
- mypainter = mypainter_;
-}
-
-void SurfaceImpl::Init(WindowID)
-{
- commonInit(new TQPainter(new TQWidget()),true);
-}
-
-void SurfaceImpl::Init(SurfaceID sid,WindowID)
-{
- commonInit(PSurface(sid),false);
-}
-
-void SurfaceImpl::InitPixMap(int width,int height,Surface *,WindowID)
-{
- commonInit(new TQPainter(new TQPixmap(width,height)),true);
-}
-
-void SurfaceImpl::Release()
-{
- if (painter && mypainter)
- {
- TQPaintDevice *pd = painter -> device();
-
- delete painter;
-
- delete pd;
- }
-
- painter = 0;
-}
-
-void SurfaceImpl::PenColour(ColourAllocated fore)
-{
- painter -> setPen(convertTQColor(fore));
-}
-
-void SurfaceImpl::Polygon(Point *pts,int npts,ColourAllocated fore,
- ColourAllocated back)
-{
- TQPointArray qpts(npts);
-
- for (int i = 0; i < npts; ++i)
- qpts.setPoint(i,pts[i].x,pts[i].y);
-
- painter -> setPen(convertTQColor(fore));
- painter -> setBrush(convertTQColor(back));
- painter -> drawPolygon(qpts);
-}
-
-void SurfaceImpl::RectangleDraw(PRectangle rc,ColourAllocated fore,
- ColourAllocated back)
-{
- painter -> setPen(convertTQColor(fore));
- painter -> setBrush(convertTQColor(back));
- painter -> drawRect(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
-}
-
-void SurfaceImpl::FillRectangle(PRectangle rc,ColourAllocated back)
-{
- painter -> setPen(TQt::NoPen);
- painter -> setBrush(convertTQColor(back));
- painter -> drawRect(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
-}
-
-void SurfaceImpl::FillRectangle(PRectangle rc,Surface &surfacePattern)
-{
- SurfaceImpl &si = static_cast<SurfaceImpl &>(surfacePattern);
- TQPixmap *pm = static_cast<TQPixmap *>(si.painter -> device());
-
- if (pm)
- {
- TQBrush brsh(TQt::black,*pm);
-
- painter -> setPen(TQt::NoPen);
- painter -> setBrush(brsh);
- painter -> drawRect(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
- }
- else
- FillRectangle(rc,ColourAllocated(0));
-}
-
-void SurfaceImpl::RoundedRectangle(PRectangle rc,ColourAllocated fore,
- ColourAllocated back)
-{
- painter -> setPen(convertTQColor(fore));
- painter -> setBrush(convertTQColor(back));
- painter -> drawRoundRect(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
-}
-
-void SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize,
- ColourAllocated fill, int alphaFill, ColourAllocated outline,
- int alphaOutline, int)
-{
- int w = rc.right - rc.left;
- int h = rc.bottom - rc.top;
-
- TQImage img(w, h, 32);
-
- img.fill(convertTQRgb(fill, alphaFill));
- img.setAlphaBuffer(TRUE);
-
- // Assume that "cornerSize" means outline width.
- if (cornerSize > 0)
- {
- TQRgb oline = convertTQRgb(outline, alphaOutline);
-
- int linew = cornerSize;
-
- if (linew > w)
- linew = w;
-
- for (int y = 0; y < h; ++y)
- {
- int x;
-
- if (y < cornerSize || y >= (h - cornerSize))
- for (x = 0; x < w; ++x)
- img.setPixel(x, y, oline);
- else
- {
- for (x = 0; x < linew; ++x)
- img.setPixel(x, y, oline);
-
- for (x = w - 1; x >= w - linew; --x)
- img.setPixel(x, y, oline);
- }
- }
- }
-
- painter->drawImage(rc.left, rc.top, img);
-}
-
-void SurfaceImpl::Ellipse(PRectangle rc,ColourAllocated fore,
- ColourAllocated back)
-{
- painter -> setPen(convertTQColor(fore));
- painter -> setBrush(convertTQColor(back));
- painter -> drawEllipse(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
-}
-
-void SurfaceImpl::Copy(PRectangle rc,Point from,Surface &surfaceSource)
-{
- SurfaceImpl &si = static_cast<SurfaceImpl &>(surfaceSource);
- TQPaintDevice *spd = si.painter -> device();
- TQPaintDevice *dpd = painter -> device();
-
- if (spd && dpd)
- {
- si.painter -> end();
- painter -> end();
-
- bitBlt(dpd,rc.left,rc.top,spd,from.x,from.y,
- rc.right - rc.left,rc.bottom - rc.top);
-
- si.painter -> begin(spd);
- painter -> begin(dpd);
- }
-}
-
-void SurfaceImpl::DrawTextNoClip(PRectangle rc,Font &font_,int ybase,
- const char *s,int len,ColourAllocated fore,
- ColourAllocated back)
-{
- FillRectangle(rc,back);
- DrawTextTransparent(rc,font_,ybase,s,len,fore);
-}
-
-void SurfaceImpl::DrawTextClipped(PRectangle rc,Font &font_,int ybase,
- const char *s,int len,ColourAllocated fore,
- ColourAllocated back)
-{
- SetClip(rc);
- DrawTextNoClip(rc,font_,ybase,s,len,fore,back);
- painter -> setClipping(FALSE);
-}
-
-void SurfaceImpl::DrawTextTransparent(PRectangle rc,Font &font_,int ybase,
- const char *s,int len,
- ColourAllocated fore)
-{
- TQString qs = convertText(s,len);
-
- setFont(font_);
- painter -> setPen(convertTQColor(fore));
- painter -> drawText(rc.left,ybase,qs);
-}
-
-void SurfaceImpl::DrawXPM(PRectangle rc,const XPM *xpm)
-{
- int x, y;
- const TQPixmap &qpm = xpm -> Pixmap();
-
- x = rc.left + (rc.Width() - qpm.width()) / 2;
- y = rc.top + (rc.Height() - qpm.height()) / 2;
-
- painter -> drawPixmap(x,y,qpm);
-}
-
-void SurfaceImpl::MeasureWidths(Font &font_,const char *s,int len,
- int *positions)
-{
- if (setFont(font_))
- {
- int totalWidth = 0, ui = 0;
- TQString qs = convertText(s,len);
- TQFontMetrics fm = painter -> fontMetrics();
-
- for (int i = 0; i < qs.length(); ++i)
- {
- totalWidth += fm.width(qs[i]);
-
- int l = (unicodeMode ? TQString(qs[i]).utf8().length() : 1);
-
- while (l--)
- positions[ui++] = totalWidth;
- }
- }
- else
- for (int i = 0; i < len; ++i)
- positions[i] = i + 1;
-}
-
-int SurfaceImpl::WidthText(Font &font_,const char *s,int len)
-{
- if (setFont(font_))
- {
- TQString qs = convertText(s,len);
-
- return painter -> fontMetrics().width(qs,qs.length());
- }
-
- return 1;
-}
-
-int SurfaceImpl::WidthChar(Font &font_,char ch)
-{
- if (setFont(font_))
- return painter -> fontMetrics().width(ch);
-
- return 1;
-}
-
-int SurfaceImpl::Ascent(Font &font_)
-{
- if (setFont(font_))
- return painter -> fontMetrics().ascent();
-
- return 1;
-}
-
-int SurfaceImpl::Descent(Font &font_)
-{
- // TQt doesn't include the baseline in the descent, so add it.
-
- if (setFont(font_))
- return painter -> fontMetrics().descent() + 1;
-
- return 1;
-}
-
-int SurfaceImpl::ExternalLeading(Font &font_)
-{
- if (setFont(font_))
- return painter -> fontMetrics().leading();
-
- return 0;
-}
-
-int SurfaceImpl::Height(Font &font_)
-{
- if (setFont(font_))
- return painter -> fontMetrics().height();
-
- return 1;
-}
-
-void SurfaceImpl::SetClip(PRectangle rc)
-{
- painter -> setClipRect(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
-}
-
-// Set the painter font if there is one. Return true if it was set.
-bool SurfaceImpl::setFont(Font &font_)
-{
- TQFont *f = PFont(font_.GetID());
-
- if (f)
- painter -> setFont(*f);
-
- return f;
-}
-
-// Convert a Scintilla string to a TQt Unicode string.
-TQString SurfaceImpl::convertText(const char *s,int len)
-{
- if (unicodeMode)
- return TQString::fromUtf8(s,len);
-
- TQString qs;
-
- qs.setLatin1(s,len);
-
- return qs;
-}
-
-// Convert a Scintilla colour and alpha component to a TQt TQRgb.
-TQRgb SurfaceImpl::convertTQRgb(const ColourAllocated &col, unsigned alpha)
-{
- long c = col.AsLong();
-
- unsigned r = c & 0xff;
- unsigned g = (c >> 8) & 0xff;
- unsigned b = (c >> 16) & 0xff;
-
- TQRgb rgba = (alpha << 24) | (r << 16) | (g << 8) | b;
-
- return rgba;
-}
-
-// Convert a Scintilla colour, and optional alpha component, to a TQt TQColor.
-TQColor SurfaceImpl::convertTQColor(const ColourAllocated &col, unsigned alpha)
-{
- return TQColor(convertTQRgb(col, alpha));
-}
-
-
-// Window (widget) management.
-Window::~Window()
-{
-}
-
-void Window::Destroy()
-{
- TQWidget *w = PWindow(id);
-
- if (w)
- {
- delete w;
- id = 0;
- }
-}
-
-bool Window::HasFocus()
-{
- return PWindow(id) -> hasFocus();
-}
-
-PRectangle Window::GetPosition()
-{
- TQWidget *w = PWindow(id);
-
- // Before any size allocated pretend its big enough not to be scrolled.
- PRectangle rc(0,0,5000,5000);
-
- if (w)
- {
- const TQRect &r = w -> geometry();
-
- rc.left = r.left();
- rc.top = r.top();
- rc.right = r.right() + 1;
- rc.bottom = r.bottom() + 1;
- }
-
- return rc;
-}
-
-void Window::SetPosition(PRectangle rc)
-{
- PWindow(id) -> setGeometry(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
-}
-
-void Window::SetPositionRelative(PRectangle rc,Window relativeTo)
-{
- TQWidget *rel = PWindow(relativeTo.id);
- TQPoint pos = rel -> mapToGlobal(rel -> pos());
-
- int x = pos.x() + rc.left;
- int y = pos.y() + rc.top;
-
- PWindow(id) -> setGeometry(x,y,rc.right - rc.left,rc.bottom - rc.top);
-}
-
-PRectangle Window::GetClientPosition()
-{
- return GetPosition();
-}
-
-void Window::Show(bool show)
-{
- TQWidget *w = PWindow(id);
-
- if (show)
- w -> show();
- else
- w -> hide();
-}
-
-void Window::InvalidateAll()
-{
- TQWidget *w = PWindow(id);
-
- if (w)
- w -> update();
-}
-
-void Window::InvalidateRectangle(PRectangle rc)
-{
- TQWidget *w = PWindow(id);
-
- if (w)
- w -> update(rc.left,rc.top,
- rc.right - rc.left,rc.bottom - rc.top);
-}
-
-void Window::SetFont(Font &font)
-{
- PWindow(id) -> setFont(*PFont(font.GetID()));
-}
-
-void Window::SetCursor(Cursor curs)
-{
- TQt::CursorShape qc;
-
- switch (curs)
- {
- case cursorText:
- qc = TQt::IbeamCursor;
- break;
-
- case cursorUp:
- qc = TQt::UpArrowCursor;
- break;
-
- case cursorWait:
- qc = TQt::WaitCursor;
- break;
-
- case cursorHoriz:
- qc = TQt::SizeHorCursor;
- break;
-
- case cursorVert:
- qc = TQt::SizeVerCursor;
- break;
-
- case cursorHand:
- qc = TQt::PointingHandCursor;
- break;
-
- default:
- qc = TQt::ArrowCursor;
- }
-
- PWindow(id) -> setCursor(qc);
-}
-
-void Window::SetTitle(const char *s)
-{
- PWindow(id) -> setCaption(s);
-}
-
-
-// Menu management.
-Menu::Menu() : id(0)
-{
-}
-
-void Menu::CreatePopUp()
-{
- Destroy();
- id = new TQPopupMenu();
-}
-
-void Menu::Destroy()
-{
- TQPopupMenu *m = PMenu(id);
-
- if (m)
- {
- delete m;
- id = 0;
- }
-}
-
-void Menu::Show(Point pt,Window &)
-{
- PMenu(id) -> popup(TQPoint(pt.x,pt.y));
-}
-
-
-class DynamicLibraryImpl : public DynamicLibrary
-{
-public:
- DynamicLibraryImpl(const char *modulePath)
- {
- m = new TQLibrary(modulePath);
- m -> load();
- }
-
- virtual ~DynamicLibraryImpl()
- {
- if (m)
- delete m;
- }
-
- virtual Function FindFunction(const char *name)
- {
- if (m)
- return m -> resolve(name);
-
- return 0;
- }
-
- virtual bool IsValid()
- {
- return m && m -> isLoaded();
- }
-
-private:
- TQLibrary* m;
-};
-
-DynamicLibrary *DynamicLibrary::Load(const char *modulePath)
-{
- return new DynamicLibraryImpl(modulePath);
-}
-
-
-// Elapsed time. This implementation assumes that the maximum elapsed time is
-// less than 48 hours.
-ElapsedTime::ElapsedTime()
-{
- TQTime now = TQTime::currentTime();
-
- bigBit = now.hour() * 60 * 60 + now.minute() * 60 + now.second();
- littleBit = now.msec();
-}
-
-double ElapsedTime::Duration(bool reset)
-{
- long endBigBit, endLittleBit;
- TQTime now = TQTime::currentTime();
-
- endBigBit = now.hour() * 60 * 60 + now.minute() * 60 + now.second();
- endLittleBit = now.msec();
-
- double duration = endBigBit - bigBit;
-
- if (duration < 0 || (duration == 0 && endLittleBit < littleBit))
- duration += 24 * 60 * 60;
-
- duration += (endLittleBit - littleBit) / 1000.0;
-
- if (reset)
- {
- bigBit = endBigBit;
- littleBit = endLittleBit;
- }
-
- return duration;
-}
-
-
-// Manage system wide parameters.
-ColourDesired Platform::Chrome()
-{
- return ColourDesired(0xe0,0xe0,0xe0);
-}
-
-ColourDesired Platform::ChromeHighlight()
-{
- return ColourDesired(0xff,0xff,0xff);
-}
-
-const char *Platform::DefaultFont()
-{
- return TQApplication::font().family().utf8();
-}
-
-int Platform::DefaultFontSize()
-{
- return TQApplication::font().pointSize();
-}
-
-unsigned int Platform::DoubleClickTime()
-{
- return TQApplication::doubleClickInterval();
-}
-
-bool Platform::MouseButtonBounce()
-{
- return true;
-}
-
-void Platform::DebugDisplay(const char *s)
-{
- tqDebug("%s",s);
-}
-
-bool Platform::IsKeyDown(int)
-{
- return false;
-}
-
-long Platform::SendScintilla(WindowID w,unsigned int msg,unsigned long wParam,
- long lParam)
-{
- return static_cast<QextScintillaBase *>(PWindow(w) -> parentWidget()) -> SendScintilla(msg,wParam,lParam);
-}
-
-long Platform::SendScintillaPointer(WindowID w,unsigned int msg,
- unsigned long wParam,void *lParam)
-{
- return static_cast<QextScintillaBase *>(PWindow(w) -> parentWidget()) -> SendScintilla(msg,wParam,reinterpret_cast<long>(lParam));
-}
-
-bool Platform::IsDBCSLeadByte(int codepage,char ch)
-{
- // We don't support DBCS.
- return false;
-}
-
-int Platform::DBCSCharLength(int codePage,const char *s)
-{
- // We don't support DBCS.
- return 1;
-}
-
-int Platform::DBCSCharMaxLength()
-{
- // We don't support DBCS.
- return 2;
-}
-
-int Platform::Minimum(int a,int b)
-{
- return (a < b) ? a : b;
-}
-
-int Platform::Maximum(int a,int b)
-{
- return (a > b) ? a : b;
-}
-
-int Platform::Clamp(int val,int minVal,int maxVal)
-{
- if (val > maxVal)
- val = maxVal;
-
- if (val < minVal)
- val = minVal;
-
- return val;
-}
-
-
-//#define TRACE
-
-#ifdef TRACE
-void Platform::DebugPrintf(const char *format, ...)
-{
- char buffer[2000];
- va_list pArguments;
-
- va_start(pArguments,format);
- vsprintf(buffer,format,pArguments);
- va_end(pArguments);
-
- DebugDisplay(buffer);
-}
-#else
-void Platform::DebugPrintf(const char *, ...)
-{
-}
-#endif
-
-static bool assertionPopUps = true;
-
-bool Platform::ShowAssertionPopUps(bool assertionPopUps_)
-{
- bool ret = assertionPopUps;
-
- assertionPopUps = assertionPopUps_;
-
- return ret;
-}
-
-void Platform::Assert(const char *c,const char *file,int line)
-{
- tqFatal("Assertion [%s] failed at %s %d\n",c,file,line);
-}