# MCFrame

All the classes related to user interface. More...

## Classes
struct | IMFBitmapSliderPart
struct | IMFClipping
struct | IMFCollapsibleListPart
struct | IMFCollapsiblePart
struct | IMFCurvePart
struct | IMFDialogPart
struct | IMFDockablePart
struct | IMFDockAreaPart
struct | IMFDocument
struct | IMFDropCandidate
struct | IMFExDropCandidate
struct | IMFDropArea
struct | IMFExDropArea
struct | IMFDrawerPart
struct | IMFEditTextPart
struct | IMFExListPart
struct | IMFExPart
struct | IMFExResponder
struct | IMFFramePart
| A part that draws lines on its sides. More...
struct | IMFImagePart
struct | IMFListPart
struct | IMFMenu
struct | IMFNodeReferencePart
struct | IMFOffscreenPart
struct | IMFParameterPart
| Interface for a Parameter part. More...
struct | IMFParameterComponentPart
struct | IMFPart
struct | TPartFindingInfo
| Simple struct that facilitates finding several parts at the same time. More...
struct | IMFPartSwitcher
struct | IMFPerpetualMouse
struct | IMFPreviewPart
struct | IMFResponder
struct | IMFScrollPart
| Interface for a scroll part. More...
struct | IMFSliderPart
struct | IMFLinearSliderPart
struct | IMFSolidColorPart
struct | IMFSplitBarPart
struct | IMFTabPart
struct | IMFTextPopupPart
struct | ITextPopupBuilder
struct | IMFToolbarPart
struct | IMFToolGroup
struct | IMFWindow
struct | IMFTitleBarIconAdornment
struct | IMFTitleBarAdornment
struct | IMFAttribute
class | TMFBaseAttribute
| Base attribute class (stores only ID and Type). More...
class | TMFAttribute
class | TMFEventResult
class | TMFTabletMouseSample
## Namespaces
namespace | EMFPartMessage
## Defines
#define | DECLARE_ATTRIBUTE_CLASS(ClassName, CType, DataType)
## Enumerations
enum | { kNoFrameBorder = 0x0000, kLeftFrameBorder = 0x0001, kBottomFrameBorder = 0x0002, kRightFrameBorder = 0x0004, kTopFrameBorder = 0x0008, kAllFrameBorders = 0x000F }
enum | ESliderAttributes { kThumbs_Token = 'NbTh', kSnpValue_Token = 'SnpV', kFirstThumbImageID = 'ThI1', kSecondThumbImageID = 'ThI2', kThirdThumbImageID = 'ThI3', kDisplayType_Token = 'DiTy', kNbDecimals_Token = 'NbDc', kDisplayParts_Token = 'DiPa', kAllowOverlapping_Token = 'AlOv', kDisplayBoundsAsThumbs_Token = 'DBaT', kDisplayOnly_Token = 'DiOn', kAddRemoveThumbs_Token = 'AdRe', kTitle_Token = 'SlTi', kCurValue_Token = 'CurV', kMinValue_Token = 'MinV', kMaxValue_Token = 'MAxV', kDisplayValueFactor_Token = 'ValF' }
enum | ELinearSliderAttributes { kFirstRailImageID = 'RlI1', kSecondRailImageID = 'RlI2', kThirdRailImageID = 'RlI3', kDisplayScale_Token = 'ScDi', kTitleAndValueDisplayRatio_Token = 'TDRa', kMinValueDisplayed_Token = 'MnDp', kMaxValueDisplayed_Token = 'MxDp', kCustomDisplayRange_Token = 'CstR', kLinearSliderValueDefaultWidth_Token = 'LSVW' }
enum | ELinearSliderDisplayScale { kDisplayScaleNormal = 0, kDisplayScaleLeftLog, kDisplayScaleCenterLog, kDisplayScaleRightLog, kInvalidLinearSliderDisplayScale = 0xFFFFFFFF }
enum | ESliderDisplayType { kDisplayNormal = 0, kDisplayPercent, kDisplayDegree, kDisplayPercentMapMinMax, kInvalidSliderDisplayType = 0xFFFFFFFF }
enum | ESliderDisplayParts { kDisplayAllParts = 0, kDisplayOnlyRail, kDisplayValueAligned, kInvalidSliderDisplayParts = 0xFFFFFFFF }
enum | ESplitDirection { kAutoSplit = 0, kVerticalSplit = 1, kHorizontalSplit = 2, kInvalidSplitDirection = 0xFFFFFFFF }
enum | ESplitMode { kBasicSplitMode = 0, kConstantRatioSplitMode = 1, kPreferedSizeSplitMode = 2, kInvalidSplitMode = 0xFFFFFFFF }
enum | ETabAlignment { kAlignTabsTop, kAlignTabsBottom, kAlignTabsLeft, kAlignTabsRight }
enum | EToolStyle { kToolStyle_Normal = 0, kToolStyle_Flat = 1, kToolStyle_Inset = 2, kToolStyle_Overlay = 3, kToolStyle_PlainFlat = 4, kToolStyle_OverlayBlit = 5 }
enum | EImageIndices { kBackgroundImage = 0, kOverlayImage = 1, kImage = 0, kUnpressedEnabledImage = 0, kUnpressedMouseOverImage = 1, kUnpressedDisabledImage = 2, kPressedEnabledImage = 3, kPressedMouseOverImage = 4, kPressedDisabledImage = 5, kTotalImages = 6 }
| enums for image array indices More...
enum | ELayoutOrientation { kLayoutOrientation_Horizontal = 0, kLayoutOrientation_Vertical = 1 }
enum | ELayoutStyle { kLayoutStyle_Straight = 0, kLayoutStyle_Honeycomb = 1 }
enum | EToolbarResponderKind { kToolSelectRecipient = 0, kToolManipulationResponder = 1, kInvalidToolbarResponderKind = 0xffffffff }

## Detailed Description

All the classes related to user interface.

Interface for generic Image Parts.

The interface for the Title Bar Icon Adornment. Used only to set the icon of the title bar adornment.

The interface for the Title Bar Adornment.

## Define Documentation

#define DECLARE_ATTRIBUTE_CLASS | ( | ClassName,
|  | CType,
|  | DataType |  | ) |

Value:

    class ClassName: public TMFBaseAttribute {\
    public:\
            inline ClassName(IDType propertyID, CType value) {fID= propertyID; fType= DataType; fData= value; }     \
            inline const CType&                     GetData() const         { return fData; } \
            inline CType&                           GetData()                       { return fData; } \
            virtual inline const void*      GetDataPtr() const      { return &fData; }      \
            virtual inline void*            GetDataPtr()            { return &fData; }      \
    protected:\
            CType fData; \
    };

## Enumeration Type Documentation

anonymous enum

Enumerator:

  kNoFrameBorder |
  kLeftFrameBorder |
  kBottomFrameBorder |
  kRightFrameBorder |
  kTopFrameBorder |
  kAllFrameBorders |

enum EImageIndices

enums for image array indices

Enumerator:

  kBackgroundImage | for use with kToolStyle_Overlay
  kOverlayImage | for use with kToolStyle_Overlay
  kImage | for use with kToolStyle_Flat and kToolStyle_Inset
  kUnpressedEnabledImage | for use with kToolStyle_Normal
  kUnpressedMouseOverImage | for use with kToolStyle_Normal
  kUnpressedDisabledImage | for use with kToolStyle_Normal
  kPressedEnabledImage | for use with kToolStyle_Normal
  kPressedMouseOverImage | for use with kToolStyle_Normal
  kPressedDisabledImage | for use with kToolStyle_Normal
  kTotalImages |

enum ELayoutOrientation

Enumerator:

  kLayoutOrientation_Horizontal |
  kLayoutOrientation_Vertical |

enum ELayoutStyle

Enumerator:

  kLayoutStyle_Straight |
  kLayoutStyle_Honeycomb |

enum ELinearSliderAttributes

Enumerator:

  kFirstRailImageID |
  kSecondRailImageID |
  kThirdRailImageID |
  kDisplayScale_Token |
  kTitleAndValueDisplayRatio_Token |
  kMinValueDisplayed_Token |
  kMaxValueDisplayed_Token |
  kCustomDisplayRange_Token |
  kLinearSliderValueDefaultWidth_Token |

enum ELinearSliderDisplayScale

Enumerator:

  kDisplayScaleNormal |
  kDisplayScaleLeftLog |
  kDisplayScaleCenterLog |
  kDisplayScaleRightLog |
  kInvalidLinearSliderDisplayScale |

enum ESliderAttributes

Enumerator:

  kThumbs_Token |
  kSnpValue_Token |
  kFirstThumbImageID |
  kSecondThumbImageID |
  kThirdThumbImageID |
  kDisplayType_Token |
  kNbDecimals_Token |
  kDisplayParts_Token |
  kAllowOverlapping_Token |
  kDisplayBoundsAsThumbs_Token |
  kDisplayOnly_Token |
  kAddRemoveThumbs_Token |
  kTitle_Token |
  kCurValue_Token |
  kMinValue_Token |
  kMaxValue_Token |
  kDisplayValueFactor_Token |

enum ESliderDisplayParts

Enumerator:

  kDisplayAllParts |
  kDisplayOnlyRail |
  kDisplayValueAligned |
  kInvalidSliderDisplayParts |

enum ESliderDisplayType

Enumerator:

  kDisplayNormal |
  kDisplayPercent |
  kDisplayDegree |
  kDisplayPercentMapMinMax |
  kInvalidSliderDisplayType |

enum ESplitDirection

Enumerator:

  kAutoSplit | split direction computed from split bar's size (fSize.x >= fSize.y => kVerticalSplit)
  kVerticalSplit | changes the vertical size and positions of the controled parts
  kHorizontalSplit | changes the horizontal size and positions of the controled parts
  kInvalidSplitDirection |

enum ESplitMode

Enumerator:

  kBasicSplitMode | compatibility mode
  kConstantRatioSplitMode | the split position stays at a constant proportion of the parent's size
  kPreferedSizeSplitMode | the split bar tries to give the prefered part the prefered size (but always stays visible)
  kInvalidSplitMode |

enum ETabAlignment

Enumerator:

  kAlignTabsTop |
  kAlignTabsBottom |
  kAlignTabsLeft |
  kAlignTabsRight |

enum EToolbarResponderKind

Enumerator:

  kToolSelectRecipient |
  kToolManipulationResponder |
  kInvalidToolbarResponderKind |

enum EToolStyle

Enumerator:

  kToolStyle_Normal |
  kToolStyle_Flat |
  kToolStyle_Inset |
  kToolStyle_Overlay |
  kToolStyle_PlainFlat |
  kToolStyle_OverlayBlit |