Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

246 lines (216 sloc) 8.537 kb
/***********************************************************************
* FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
* Copyright (c) 2001-2009 by Lyle Johnson. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* For further information please contact the author by e-mail
* at "lyle@lylejohnson.name".
***********************************************************************/
/// Justification modes
enum {
JUSTIFY_NORMAL = 0, /// Default justification is centered text
JUSTIFY_CENTER_X = 0, /// Text is centered horizontally
JUSTIFY_LEFT = 0x00008000, /// Text is left-justified
JUSTIFY_RIGHT = 0x00010000, /// Text is right-justified
JUSTIFY_HZ_APART = JUSTIFY_LEFT|JUSTIFY_RIGHT, /// Combination of JUSTIFY_LEFT & JUSTIFY_RIGHT
JUSTIFY_CENTER_Y = 0, /// Text is centered vertically
JUSTIFY_TOP = 0x00020000, /// Text is aligned with label top
JUSTIFY_BOTTOM = 0x00040000, /// Text is aligned with label bottom
JUSTIFY_VT_APART = JUSTIFY_TOP|JUSTIFY_BOTTOM /// Combination of JUSTIFY_TOP & JUSTIFY_BOTTOM
};
/// Default padding
enum { DEFAULT_PAD = 2 };
/// Base Frame
class FXFrame : public FXWindow {
protected:
FXColor baseColor; // Base color
FXColor hiliteColor; // Highlight color
FXColor shadowColor; // Shadow color
FXColor borderColor; // Border color
FXint padtop; // Top padding
FXint padbottom; // Bottom padding
FXint padleft; // Left padding
FXint padright; // right padding
FXint border; // Border size
protected:
FXFrame();
void drawBorderRectangle(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
void drawRaisedRectangle(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
void drawSunkenRectangle(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
void drawRidgeRectangle(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
void drawGrooveRectangle(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
void drawDoubleRaisedRectangle(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
void drawDoubleSunkenRectangle(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
void drawFrame(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
public:
long onPaint(FXObject*,FXSelector,void* PTR_EVENT);
public:
%extend {
/// Construct frame window
FXFrame(FXComposite* p,FXuint opts=FRAME_NORMAL,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=DEFAULT_PAD,FXint pr=DEFAULT_PAD,FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD){
return new FXRbFrame(p,opts,x,y,w,h,pl,pr,pt,pb);
}
}
/// Change frame style
void setFrameStyle(FXuint style);
/// Get current frame style
FXuint getFrameStyle() const;
/// Get border width
FXint getBorderWidth() const;
/// Change top padding
void setPadTop(FXint pt);
/// Get top interior padding
FXint getPadTop() const;
/// Change bottom padding
void setPadBottom(FXint pb);
/// Get bottom interior padding
FXint getPadBottom() const;
/// Change left padding
void setPadLeft(FXint pl);
/// Get left interior padding
FXint getPadLeft() const;
/// Change right padding
void setPadRight(FXint pr);
/// Get right interior padding
FXint getPadRight() const;
/// Change highlight color
void setHiliteColor(FXColor clr);
/// Get highlight color
FXColor getHiliteColor() const;
/// Change shadow color
void setShadowColor(FXColor clr);
/// Get shadow color
FXColor getShadowColor() const;
/// Change border color
void setBorderColor(FXColor clr);
/// Get border color
FXColor getBorderColor() const;
/// Change base gui color
void setBaseColor(FXColor clr);
/// Get base gui color
FXColor getBaseColor() const;
};
DECLARE_FXOBJECT_VIRTUALS(FXFrame)
DECLARE_FXID_VIRTUALS(FXFrame)
DECLARE_FXDRAWABLE_VIRTUALS(FXFrame)
DECLARE_FXWINDOW_VIRTUALS(FXFrame)
%{
static swig_type_info *FXFrame_dynamic_cast(void **ptr) {
FXFrame **ppFrame = reinterpret_cast<FXFrame **>(ptr);
FX7Segment *p7Segment=dynamic_cast<FX7Segment*>(*ppFrame);
if(p7Segment){
*ptr=reinterpret_cast<void*>(p7Segment);
return SWIG_TypeQuery("FX7Segment *");
}
FXArrowButton *pArrowButton=dynamic_cast<FXArrowButton*>(*ppFrame);
if(pArrowButton){
*ptr=reinterpret_cast<void*>(pArrowButton);
return SWIG_TypeQuery("FXArrowButton *");
}
FXBitmapFrame *pBitmapFrame=dynamic_cast<FXBitmapFrame*>(*ppFrame);
if(pBitmapFrame){
*ptr=reinterpret_cast<void*>(pBitmapFrame);
return SWIG_TypeQuery("FXBitmapFrame *");
}
FXColorBar *pColorBar=dynamic_cast<FXColorBar*>(*ppFrame);
if(pColorBar){
*ptr=reinterpret_cast<void*>(pColorBar);
return SWIG_TypeQuery("FXColorBar *");
}
FXColorRing *pColorRing=dynamic_cast<FXColorRing*>(*ppFrame);
if(pColorRing){
*ptr=reinterpret_cast<void*>(pColorRing);
return SWIG_TypeQuery("FXColorRing *");
}
FXColorWell *pColorWell=dynamic_cast<FXColorWell*>(*ppFrame);
if(pColorWell){
*ptr=reinterpret_cast<void*>(pColorWell);
return SWIG_TypeQuery("FXColorWell *");
}
FXColorWheel *pColorWheel=dynamic_cast<FXColorWheel*>(*ppFrame);
if(pColorWheel){
*ptr=reinterpret_cast<void*>(pColorWheel);
return SWIG_TypeQuery("FXColorWheel *");
}
FXDial *pDial=dynamic_cast<FXDial*>(*ppFrame);
if(pDial){
*ptr=reinterpret_cast<void*>(pDial);
return SWIG_TypeQuery("FXDial *");
}
FXDockHandler *pDockHandler=dynamic_cast<FXDockHandler*>(*ppFrame);
if(pDockHandler){
*ptr=reinterpret_cast<void*>(pDockHandler);
return SWIG_TypeQuery("FXDockHandler *");
}
FXHeader *pHeader=dynamic_cast<FXHeader*>(*ppFrame);
if(pHeader){
*ptr=reinterpret_cast<void*>(pHeader);
return SWIG_TypeQuery("FXHeader *");
}
FXImageFrame *pImageFrame=dynamic_cast<FXImageFrame*>(*ppFrame);
if(pImageFrame){
*ptr=reinterpret_cast<void*>(pImageFrame);
return SWIG_TypeQuery("FXImageFrame *");
}
FXKnob *pKnob=dynamic_cast<FXKnob*>(*ppFrame);
if(pKnob){
*ptr=reinterpret_cast<void*>(pKnob);
return SWIG_TypeQuery("FXKnob *");
}
FXLabel *pLabel=dynamic_cast<FXLabel*>(*ppFrame);
if(pLabel){
*ptr=reinterpret_cast<void*>(pLabel);
return SWIG_TypeQuery("FXLabel *");
}
FXProgressBar *pProgressBar=dynamic_cast<FXProgressBar*>(*ppFrame);
if(pProgressBar){
*ptr=reinterpret_cast<void*>(pProgressBar);
return SWIG_TypeQuery("FXProgressBar *");
}
FXRealSlider *pRealSlider=dynamic_cast<FXRealSlider*>(*ppFrame);
if(pRealSlider){
*ptr=reinterpret_cast<void*>(pRealSlider);
return SWIG_TypeQuery("FXRealSlider *");
}
FXSeparator *pSeparator=dynamic_cast<FXSeparator*>(*ppFrame);
if(pSeparator){
*ptr=reinterpret_cast<void*>(pSeparator);
return SWIG_TypeQuery("FXSeparator *");
}
FXSlider *pSlider=dynamic_cast<FXSlider*>(*ppFrame);
if(pSlider){
*ptr=reinterpret_cast<void*>(pSlider);
return SWIG_TypeQuery("FXSlider *");
}
FXStatusLine *pStatusLine=dynamic_cast<FXStatusLine*>(*ppFrame);
if(pStatusLine){
*ptr=reinterpret_cast<void*>(pStatusLine);
return SWIG_TypeQuery("FXStatusLine *");
}
FXTextField *pTextField=dynamic_cast<FXTextField*>(*ppFrame);
if(pTextField){
*ptr=reinterpret_cast<void*>(pTextField);
return SWIG_TypeQuery("FXTextField *");
}
FXToolBarTab *pToolBarTab=dynamic_cast<FXToolBarTab*>(*ppFrame);
if(pToolBarTab){
*ptr=reinterpret_cast<void*>(pToolBarTab);
return SWIG_TypeQuery("FXToolBarTab *");
}
return 0;
}
%}
DYNAMIC_CAST(SWIGTYPE_p_FXFrame, FXFrame_dynamic_cast);
Jump to Line
Something went wrong with that request. Please try again.