| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 | //PORTABLE#ifndef _TEXTBAR_H#define _TEXTBAR_H#include <bfc/virtualwnd.h>#include <bfc/autobitmap.h>#include <bfc/textalign.h>class CheckWnd;#define TEXTBAR_PARENT VirtualWnd/**  TextBar uses the BaseWnd name field of the object as the text   to be displayed.  @short TextBar control.  @author Nullsoft  @ver 1.0  @see LabelWnd*/class TextBar : public VirtualWnd {public:  /**    Sets the default flags of the TextBar. Defaults to 16px fonts,     no background texture, left justified text, shadowed text in     the bgcolor, no outline, not box around the text.  */  TextBar();  /**    Event is triggered when the window requires a repaint.    Override this to implement your own behavior.        Paints the bitmap on canvas according to current     options (centering, tiling, stretching, title).    @ret 0 for failure, 1 for success    @param canvas The canvas on which to paint.  */  virtual int onPaint(Canvas *canvas);  /**    Event is triggered when the name of the window is changed.    Override this to implement your own behavior.        @see BaseWnd::setName()  */  virtual void onSetName();    /**    Set the text to be displayed to an ascii representation of a numeric value.        @ret 1.    @param i The numeric value to be displayed.  */  int setInt(int i);  /**    Set the size of the text for the textbar.        @ret 1, success; 0, failure.    @param newsize The new text size, range is from 1 to 72 pixels.  */  int setTextSize(int newsize);  /**    Get the width of the text displayed, in pixels.        @ret Width of the displayed text (in pixels).  */  int getTextWidth();    /**    Get the height of the text displayed, in pixels.        @ret Height of the displayed text.  */  int getTextHeight();    /**    Use the base texture when rendering the TextBar?    If the base texture is used, it will be rendered as     the background of the textbar.        @param u !0, Use base texture; 0, Do not use base texture;  */  void setUseBaseTexture(int u);    /**    Event is triggered when the left mouse button is pressed while     the textbar has focus. Override this to implement your    own behavior.        @param x X coordinate of the mouse pointer.    @param y Y coordinate of the mouse pointer.  */  virtual int onLeftButtonDown(int x, int y);  /**    Center the text in the textbar? If not,     it will be left justified by default.        @param center !0, Center text; 0, Do not center text;  *///  void setCenter(int center);  //old code  /**    Get the center text flag.        @see setCenter()        @ret TRUE, Text is being centered; FALSE, No centering (left justified);  *///  bool getCentered();  /**    Sets the alignment of the text to left, center, or right aligned    (possibly more later on, not too sure yet)  */  void setAlign(TextAlign alignment);  /**    @ret returns the alignment of the text  */  TextAlign getAlign();    // The following three options have ascending overriding priority --  /**    Sets the shadowed text flag. If enabled, the text will be shadowed    with the "bgcolor" value.        @see getTextShadowed()    @param settextshadowed !0, Shadow the text; 0, Do not shadow the text;  */  void setTextShadowed(int settextshadowed) {     textshadowed = !!settextshadowed;  }    /**    Get the shadowed text flag. If enabled, the text will be shadowed    with the "bgcolor" value.        @see setTextShadowed()    @ret !0, Shadow the text; 0, Do not shadow the text;  */  int getTextShadowed() {    return textshadowed;  }    /**    Sets the outline text flag. If enabled, the text will be    outlined with the "bgcolor" value.        @param settextoutlined !0, Outline the text; 0, Do not outline the text;  */  void setTextOutlined(int settextoutlined) {     textoutlined = !!settextoutlined;  }    /**    Get the outline text flag. If enabled, the text will be    outlined with the "bgcolor" value.        @ret !0, Outline the text; 0, Do not outline the text;  */  int getTextOutlined() {    return textoutlined;  }   /**    Set the drawbox flag. If true, the drawbox flag will cause    a box to be drawn around the text in the textbar.        @param setdrawbox !0, Drawbox around the text; 0, No drawbox;  */  void setDrawBox(int setdrawbox) {    drawbox = !!setdrawbox;  }    /**    Get the drawbox flag. If true, the drawbox flag will cause    a box to be drawn around the text in the textbar.        @ret !0, Drawbox around the text; 0, No drawbox;  */  int getDrawBox() {    return drawbox;  }    /**    Associate a checkbox with the textbar. When a textbar is linked    to a checkbox, it will toggle the checkbox when it receives    left clicks.        @param target A pointer to the CheckWnd to link.  */  void setAutoToggleCheckWnd(CheckWnd *target) {    checkwndtarget = target;  }private:  int size;  int usebt;  TextAlign alignment;  //i changed this from centered, to a set text alignment thingie  int textshadowed; // display a shadow of the text in bgcolor.  default: on  int textoutlined; // draw an outline of the text in bgcolor.  default: off  int drawbox;      // draw a box of bgcolor the size of the boundsrect.  default: off  AutoSkinBitmap bgbitmap;  CheckWnd *checkwndtarget;};const int TEXTBAR_LEFTMARGIN = 2;#endif
 |