⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 private.h

📁 wxWidgets 是一个跨平台的 GUI 框架。它给开发人员提供了统一的接口
💻 H
📖 第 1 页 / 共 3 页
字号:
};enum ListSortOrder {    SortOrder_None,    SortOrder_Text_Ascending,    SortOrder_Text_Descending};typedef wxMacDataItem* wxMacDataItemPtr;const wxMacDataItemPtr wxMacDataBrowserRootContainer = NULL;WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxMacDataItemPtr, wxArrayMacDataItemPtr, class WXDLLIMPEXP_CORE);class wxMacDataItemBrowserControl : public wxMacDataBrowserControl, public wxMacListControl{public :    wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style);    wxMacDataItemBrowserControl() {}    // create a list item (can be a subclass of wxMacListBoxItem)    virtual wxMacDataItem* CreateItem();    unsigned int    GetItemCount(const wxMacDataItem* container, bool recurse , DataBrowserItemState state) const;    void            GetItems(const wxMacDataItem* container, bool recurse ,                        DataBrowserItemState state, wxArrayMacDataItemPtr &items ) const;    unsigned int    GetSelectedItemCount( const wxMacDataItem* container, bool recurse ) const;    unsigned int    GetLineFromItem(const wxMacDataItem *item) const;    wxMacDataItem * GetItemFromLine(unsigned int n) const;    void            UpdateItem(const wxMacDataItem *container, const wxMacDataItem *item,                        DataBrowserPropertyID property) const;    void            UpdateItems(const wxMacDataItem *container, wxArrayMacDataItemPtr &items,                        DataBrowserPropertyID property) const;    void            InsertColumn(int colId, DataBrowserPropertyType colType,                            const wxString& title, SInt16 just = teFlushDefault, int defaultWidth = -1);    int             GetColumnWidth(int colId);    void            SetColumnWidth(int colId, int width);    void            AddItem(wxMacDataItem *container, wxMacDataItem *item);    void            AddItems(wxMacDataItem *container, wxArrayMacDataItemPtr &items );    void            RemoveAllItems(wxMacDataItem *container);    void            RemoveItem(wxMacDataItem *container, wxMacDataItem* item);    void            RemoveItems(wxMacDataItem *container, wxArrayMacDataItemPtr &items);    void            SetSelectedItem( wxMacDataItem* item , DataBrowserSetOption option);    void            SetSelectedItems( wxArrayMacDataItemPtr &items , DataBrowserSetOption option);    void            SetSelectedAllItems( DataBrowserSetOption option);    Boolean         IsItemSelected( const wxMacDataItem* item) const;    void            RevealItem( wxMacDataItem* item, DataBrowserRevealOptions options);    void            GetSelectionAnchor( wxMacDataItemPtr* first , wxMacDataItemPtr* last) const;    // item aware methods, to be used in subclasses    virtual Boolean CompareItems(const wxMacDataItem* itemOneID,                        const wxMacDataItem* itemTwoID,                        DataBrowserPropertyID sortProperty);    virtual OSStatus GetSetItemData(wxMacDataItem* itemID,                        DataBrowserPropertyID property,                        DataBrowserItemDataRef itemData,                        Boolean changeValue );    virtual void    ItemNotification(                        const wxMacDataItem* itemID,                        DataBrowserItemNotification message,                        DataBrowserItemDataRef itemData);    // as we are getting the same events for human and API selection we have to suppress    // events in the latter case, since this will be used from many subclasses we keep it here    bool            IsSelectionSuppressed() const { return m_suppressSelection; }    bool            SuppressSelection( bool suppress );    // wxMacListControl Methods    // add and remove    virtual void            MacDelete( unsigned int n );    virtual void            MacInsert( unsigned int n, const wxString& item, int column = -1 );    virtual void            MacInsert( unsigned int n, const wxArrayString& items, int column = -1 );    virtual int             MacAppend( const wxString& item );    virtual void            MacClear();    // selecting    virtual void            MacDeselectAll();    virtual void            MacSetSelection( unsigned int n, bool select, bool multi = false );    virtual int             MacGetSelection() const;    virtual int             MacGetSelections( wxArrayInt& aSelections ) const;    virtual bool            MacIsSelected( unsigned int n ) const;    // display    virtual void            MacScrollTo( unsigned int n );    // accessing content    virtual void            MacSetString( unsigned int n, const wxString& item );    virtual void            MacSetClientData( unsigned int n, void * data);    virtual wxString        MacGetString( unsigned int n) const;    virtual void *          MacGetClientData( unsigned int) const;    virtual unsigned int    MacGetCount() const;    // client data    virtual wxClientDataType GetClientDataType() const;    virtual void            SetClientDataType(wxClientDataType clientDataItemsType);    //virtual ListSortOrder   GetSortOrder() const;    //virtual void            SetSortOrder(const ListSortOrder sort);protected:    ListSortOrder m_sortOrder;    wxClientDataType m_clientDataItemsType;    // ID aware base methods, should be 'final' ie not changed in subclasses    virtual Boolean CompareItems(DataBrowserItemID itemOneID,                        DataBrowserItemID itemTwoID,                        DataBrowserPropertyID sortProperty);    virtual OSStatus GetSetItemData(DataBrowserItemID itemID,                        DataBrowserPropertyID property,                        DataBrowserItemDataRef itemData,                        Boolean changeValue );    virtual void    ItemNotification(                        DataBrowserItemID itemID,                        DataBrowserItemNotification message,                        DataBrowserItemDataRef itemData);private :    bool m_suppressSelection;    DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataItemBrowserControl)};class wxMacDataItemBrowserSelectionSuppressor{public :    wxMacDataItemBrowserSelectionSuppressor(wxMacDataItemBrowserControl *browser);    ~wxMacDataItemBrowserSelectionSuppressor();private :    bool m_former;    wxMacDataItemBrowserControl* m_browser;};// ============================================================================// platform listbox implementation// ============================================================================// exposed for reuse in wxCheckListBoxclass wxMacListBoxItem : public wxMacDataItem{public :    wxMacListBoxItem();    virtual ~wxMacListBoxItem();    virtual void Notification(wxMacDataItemBrowserControl *owner ,        DataBrowserItemNotification message,        DataBrowserItemDataRef itemData ) const;};class wxMacDataBrowserListControl : public wxMacDataItemBrowserControl{public:    wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style );    wxMacDataBrowserListControl() {}    virtual ~wxMacDataBrowserListControl();    virtual wxMacDataItem* CreateItem();    // pointing back    wxWindow * GetPeer() const;    DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserListControl)};// ============================================================================// graphics implementation// ============================================================================#if wxMAC_USE_CORE_GRAPHICS && !wxUSE_GRAPHICS_CONTEXTclass WXDLLEXPORT wxMacCGPath : public wxGraphicPath{    DECLARE_NO_COPY_CLASS(wxMacCGPath)public :    wxMacCGPath();    ~wxMacCGPath();    //  Starts a new subpath at    void MoveToPoint( wxCoord x1 , wxCoord y1 );    void AddLineToPoint( wxCoord x1 , wxCoord y1 );    void AddQuadCurveToPoint( wxCoord cx1, wxCoord cy1, wxCoord x1, wxCoord y1 );    void AddRectangle( wxCoord x, wxCoord y, wxCoord w, wxCoord h );    void AddCircle( wxCoord x, wxCoord y , wxCoord r );    // draws a an arc to two tangents connecting (current) to (x1,y1) and (x1,y1) to (x2,y2)    virtual void AddArcToPoint( wxCoord x1, wxCoord y1 , wxCoord x2, wxCoord y2, wxCoord r ) ;    virtual void AddArc( wxCoord x, wxCoord y, wxCoord r, double startAngle, double endAngle, bool clockwise ) ;    // closes the current subpath    void CloseSubpath();    CGPathRef GetPath() const;private :    CGMutablePathRef m_path;};class WXDLLEXPORT wxMacCGContext : public wxGraphicContext{    DECLARE_NO_COPY_CLASS(wxMacCGContext)public:    wxMacCGContext( CGrafPtr port );    wxMacCGContext( CGContextRef cgcontext );    wxMacCGContext();    virtual ~wxMacCGContext();    virtual void Clip( const wxRegion &region );    virtual void StrokePath( const wxGraphicPath *p );    virtual void DrawPath( const wxGraphicPath *p , int fillStyle = wxWINDING_RULE );    virtual void FillPath( const wxGraphicPath *p , const wxColor &fillColor , int fillStyle = wxWINDING_RULE );    virtual wxGraphicPath* CreatePath();    virtual void SetPen( const wxPen &pen ) ;    virtual void SetBrush( const wxBrush &brush );    CGContextRef GetNativeContext();    void SetNativeContext( CGContextRef cg );    CGPathDrawingMode GetDrawingMode() const { return m_mode; }    virtual void Translate( wxCoord dx , wxCoord dy );    virtual void Scale( wxCoord xScale , wxCoord yScale );    virtual void DrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, wxCoord w, wxCoord h );    virtual void DrawIcon( const wxIcon &icon, wxCoord x, wxCoord y, wxCoord w, wxCoord h );    virtual void PushState();    virtual void PopState();    virtual void DrawText( const wxString &str, wxCoord x, wxCoord y, double angle ) ;    virtual void GetTextExtent( const wxString &str, wxCoord *width, wxCoord *height,                            wxCoord *descent, wxCoord *externalLeading ) const ;    virtual void GetPartialTextExtents(const wxString& text, wxArrayInt& widths) const ;    virtual void SetFont( const wxFont &font ) ;    virtual void SetTextColor( const wxColour &col ) ;private:    CGContextRef m_cgContext;    CGrafPtr m_qdPort;    CGPathDrawingMode m_mode;    ATSUStyle m_macATSUIStyle ;    wxPen m_pen;    wxBrush m_brush;    wxColor m_textForegroundColor ;};#endif // wxMAC_USE_CORE_GRAPHICS#ifdef __WXMAC_OSX__CGColorSpaceRef wxMacGetGenericRGBColorSpace(void);void wxMacMemoryBufferReleaseProc(void *info, const void *data, size_t size);#endifclass WXDLLEXPORT wxBitmapRefData: public wxGDIRefData{    friend class WXDLLEXPORT wxIcon;    friend class WXDLLEXPORT wxCursor;public:    wxBitmapRefData(int width , int height , int depth);    wxBitmapRefData();    wxBitmapRefData(const wxBitmapRefData &tocopy);    virtual ~wxBitmapRefData();    void Free();    bool Ok() const { return IsOk(); }    bool IsOk() const { return m_ok; }    void SetOk( bool isOk) { m_ok = isOk; }    void SetWidth( int width ) { m_width = width; }    void SetHeight( int height ) { m_height = height; }    void SetDepth( int depth ) { m_depth = depth; }    int GetWidth() const { return m_width; }    int GetHeight() const { return m_height; }    int GetDepth() const { return m_depth; }    void *GetRawAccess() const;    void *BeginRawAccess();    void EndRawAccess();    bool HasAlpha() const { return m_hasAlpha; }    void UseAlpha( bool useAlpha );public:#if wxUSE_PALETTE    wxPalette     m_bitmapPalette;#endif // wxUSE_PALETTE    wxMask *      m_bitmapMask; // Optional mask#ifdef __WXMAC_OSX__    CGImageRef    CGImageCreate() const;#endif    // returns true if the bitmap has a size that    // can be natively transferred into a true icon    // if no is returned GetIconRef will still produce    // an icon but it will be generated via a PICT and    // rescaled to 16 x 16    bool          HasNativeSize();    // caller should increase ref count if needed longer    // than the bitmap exists    IconRef       GetIconRef();    // returns a Pict from the bitmap content    PicHandle     GetPictHandle();    GWorldPtr     GetHBITMAP(GWorldPtr * mask = NULL ) const;    void          UpdateAlphaMask() const;private :    bool Create(int width , int height , int depth);    void Init();    int           m_width;    int           m_height;    int           m_bytesPerRow;    int           m_depth;    bool          m_hasAlpha;    wxMemoryBuffer m_memBuf;    int           m_rawAccessCount;    bool          m_ok;#ifdef __WXMAC_OSX__    mutable CGImageRef    m_cgImageRef;#endif    IconRef       m_iconRef;    PicHandle     m_pictHandle;    GWorldPtr     m_hBitmap;    GWorldPtr     m_hMaskBitmap;    wxMemoryBuffer m_maskMemBuf;    int            m_maskBytesPerRow;};class WXDLLEXPORT wxIconRefData : public wxGDIRefData{public:    wxIconRefData();    wxIconRefData( WXHICON );    virtual ~wxIconRefData() { Free(); }    void Init();    virtual void Free();    void SetWidth( int width ) { m_width = width; }    void SetHeight( int height ) { m_height = height; }    int GetWidth() const { return m_width; }    int GetHeight() const { return m_height; }    WXHICON GetHICON() const { return (WXHICON) m_iconRef; }private :    IconRef m_iconRef;    int m_width;    int m_height;};// toplevel.cppControlRef wxMacFindControlUnderMouse( wxTopLevelWindowMac* toplevelWindow, const Point& location , WindowRef window , ControlPartCode *outPart );#ifndef __LP64__#ifdef WORDS_BIGENDIAN    inline Rect* wxMacGetPictureBounds( PicHandle pict , Rect* rect )    {       *rect = (**pict).picFrame;        return rect;    }#else    inline Rect* wxMacGetPictureBounds( PicHandle pict , Rect* rect )    {        return QDGetPictureBounds( pict , rect );    }#endif#endif#endif // wxUSE_GUI#define wxMAC_DEFINE_PROC_GETTER( UPP , x ) \UPP Get##x()                                \{                                           \    static UPP sHandler = NULL;             \    if ( sHandler == NULL )                 \        sHandler = New##UPP( x );           \    return sHandler;                        \}//---------------------------------------------------------------------------// wxMac string conversions//---------------------------------------------------------------------------void wxMacSetupConverters();void wxMacCleanupConverters();void wxMacStringToPascal( const wxString&from , StringPtr to );wxString wxMacMakeStringFromPascal( ConstStringPtr from );// filefn.cppwxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathComponent = NULL );OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef );wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname );#if wxUSE_GUI// deprecating QDvoid wxMacLocalToGlobal( WindowRef window , Point*pt );void wxMacGlobalToLocal( WindowRef window , Point*pt );#endif#endif    // _WX_PRIVATE_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -