#ifndef Look_First #define Look_First #ifdef __GNUG__ #pragma interface #endif #include "Rectangle.h" #include "Metric.h" #include "Layout.h" class Ink; //---- Look -------------------------------------------------------------------- class Look { public: Ink *backgroundColor; Ink *disableInk; Layout *popUpMenuLayout; Layout *pullDownMenuLayout; Layout *menuLineLayout; Layout *menuItemLayout; Layout *scrollButtonLayout; Layout *radioButtonLayout; Layout *toggleButtonLayout; Layout *scrollBarLayout; Layout *actionButtonLayout; Layout *defaultButtonLayout; Layout *popupButtonLayout; Layout *sliderLayout; Layout *thumbLayout; Layout *fieldBorderLayout; Layout *fieldLayout; Layout *windowBorderLayout; Layout *menuBarLayout; Layout *sashLayout; Layout *progressBarLayout; Layout *scaleLayout; Layout *scaleThumbLayout[2]; Layout *groupLayout; Layout *frameLayout; public: Look(); virtual ~Look(); Layout *MenuLineLayout() { return menuLineLayout; } Layout *PopUpMenuLayout() { return popUpMenuLayout; } Layout *PullDownMenuLayout() { return pullDownMenuLayout; } Layout *MenuItemLayout() { return menuItemLayout; } Layout *ScrollButtonLayout() { return scrollButtonLayout; } Layout *RadioButtonLayout() { return radioButtonLayout; } Layout *ToggleButtonLayout() { return toggleButtonLayout; } Layout *ScrollBarLayout() { return scrollBarLayout; } Layout *ActionButtonLayout() { return actionButtonLayout; } Layout *DefaultButtonLayout() { return defaultButtonLayout; } Layout *PopupButtonLayout() { return popupButtonLayout; } Layout *SliderLayout() { return sliderLayout; } Layout *ThumbLayout() { return thumbLayout; } Layout *FieldBorderLayout(bool noborder) { return noborder ? fieldLayout : fieldBorderLayout; } Layout *MenuBarLayout() { return menuBarLayout; } Layout *SashLayout() { return sashLayout; } Layout *ProgressBarLayout() { return progressBarLayout; } Layout *ScaleLayout() { return scaleLayout; } Layout *ScaleThumbLayout(Direction dir) { return scaleThumbLayout[dir]; } Layout *GroupLayout() { return groupLayout; } Layout *FrameLayout() { return frameLayout; } virtual void DrawHighlight(Rectangle &r); Ink *GetBackgroundColor() { return backgroundColor; } Ink *DisableInk() { return disableInk; } }; extern void MakeLook(bool motif); extern void ToggleLook(); extern Look *gLook; #endif