2018-04-22 15:55:55 +00:00
|
|
|
//======== (C) Copyright 2002 Charles G. Cleveland All rights reserved. =========
|
|
|
|
//
|
|
|
|
// The copyright to the contents herein is the property of Charles G. Cleveland.
|
|
|
|
// The contents may be used and/or copied only with the written permission of
|
|
|
|
// Charles G. Cleveland, or in accordance with the terms and conditions stipulated in
|
|
|
|
// the agreement/contract under which the contents have been supplied.
|
|
|
|
//
|
|
|
|
// Purpose:
|
|
|
|
//
|
|
|
|
// $Workfile: AvHTooltip.h $
|
|
|
|
// $Date: 2002/09/25 20:52:10 $
|
|
|
|
//
|
|
|
|
//-------------------------------------------------------------------------------
|
|
|
|
// $Log: AvHTooltip.h,v $
|
|
|
|
// Revision 1.2 2002/09/25 20:52:10 Flayra
|
|
|
|
// - Refactoring
|
|
|
|
//
|
|
|
|
// Revision 1.1 2002/08/02 21:43:47 Flayra
|
|
|
|
// - New files to control tooltips on HUD
|
|
|
|
//
|
|
|
|
//===============================================================================
|
|
|
|
#ifndef AVH_TOOLTIP_H
|
|
|
|
#define AVH_TOOLTIP_H
|
|
|
|
|
|
|
|
#include "../types.h"
|
|
|
|
|
|
|
|
const string kTooltipBoldPreString = "<b>";
|
|
|
|
|
|
|
|
class AvHTooltip
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AvHTooltip();
|
|
|
|
AvHTooltip(string& inText, float inNormScreenX, float inNormScreenY, bool inCentered = false);
|
|
|
|
|
|
|
|
virtual ~AvHTooltip();
|
|
|
|
|
|
|
|
void Draw();
|
|
|
|
|
|
|
|
void FadeText(float inTimePassed, bool inFadeDown);
|
|
|
|
|
|
|
|
int GetA() const;
|
|
|
|
|
|
|
|
float GetNormalizedScreenX() const;
|
|
|
|
float GetNormalizedScreenY() const;
|
|
|
|
|
|
|
|
int GetScreenWidth() const;
|
|
|
|
int GetScreenHeight() const;
|
|
|
|
|
|
|
|
void RecomputeIfNeccessary();
|
|
|
|
|
|
|
|
void SetCentered(bool inCentered);
|
|
|
|
void SetDrawBorder(bool inDrawBorder);
|
|
|
|
void SetFadeDownSpeed(int inFadeDownSpeed);
|
|
|
|
void SetFadeUpSpeed(int inFadeUpSpeed);
|
|
|
|
void SetIgnoreFadeForLifetime(bool inIgnoreFadeForLifetime);
|
|
|
|
void SetText(const string& inText);
|
|
|
|
|
|
|
|
float GetNormalizedMaxWidth() const;
|
|
|
|
void SetNormalizedMaxWidth(float inNormalizedMaxWidth);
|
|
|
|
|
|
|
|
void SetNormalizedScreenX(float inNormScreenX);
|
|
|
|
void SetNormalizedScreenY(float inNormScreenY);
|
|
|
|
|
|
|
|
void SetRGB(int inR, int inG, int inB);
|
|
|
|
|
|
|
|
void SetR(int inR);
|
|
|
|
void SetG(int inG);
|
|
|
|
void SetB(int inB);
|
|
|
|
void SetA(int inA);
|
|
|
|
|
|
|
|
void SetBackgroundR(int inR);
|
|
|
|
void SetBackgroundG(int inG);
|
|
|
|
void SetBackgroundB(int inB);
|
|
|
|
void SetBackgroundA(int inA);
|
|
|
|
|
|
|
|
void SetBoldR(int inR);
|
|
|
|
void SetBoldG(int inG);
|
|
|
|
void SetBoldB(int inB);
|
|
|
|
|
|
|
|
private:
|
|
|
|
bool ChopStringOfMaxScreenWidth(int inMaxScreenWidth, string& ioBaseString, string& outChoppedString);
|
|
|
|
void RecomputeTextAndDimensions();
|
|
|
|
|
|
|
|
// TODO: Add more info here to indicate what to point out in the world (either an entity, or a position)
|
|
|
|
|
|
|
|
string mText;
|
|
|
|
string mLocalizedText;
|
|
|
|
StringList mStringList;
|
|
|
|
|
|
|
|
bool mDrawBorder;
|
|
|
|
|
|
|
|
int mColorR;
|
|
|
|
int mColorG;
|
|
|
|
int mColorB;
|
|
|
|
int mColorA;
|
|
|
|
|
|
|
|
int mBoldColorR;
|
|
|
|
int mBoldColorG;
|
|
|
|
int mBoldColorB;
|
|
|
|
|
|
|
|
int mBackgroundColorR;
|
|
|
|
int mBackgroundColorG;
|
|
|
|
int mBackgroundColorB;
|
|
|
|
int mBackgroundColorA;
|
|
|
|
|
|
|
|
bool mIgnoreFadeForLifetime;
|
|
|
|
float mLifetime;
|
|
|
|
bool mCentered;
|
|
|
|
|
|
|
|
bool mNeedsRecomputing;
|
|
|
|
|
|
|
|
float mNormScreenX;
|
|
|
|
float mNormScreenY;
|
|
|
|
|
|
|
|
float mNormMaxWidth;
|
|
|
|
|
|
|
|
int mScreenWidth;
|
|
|
|
int mScreenHeight;
|
|
|
|
int mScreenLineHSpacing;
|
|
|
|
int mScreenLineVSpacing;
|
|
|
|
int mScreenLineHeight;
|
|
|
|
|
|
|
|
int mFadeDownSpeed;
|
|
|
|
int mFadeUpSpeed;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2005-03-09 01:31:56 +00:00
|
|
|
#endif
|