本文整理汇总了C++中wxDataFormat类的典型用法代码示例。如果您正苦于以下问题:C++ wxDataFormat类的具体用法?C++ wxDataFormat怎么用?C++ wxDataFormat使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了wxDataFormat类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: GetDataSize
size_t SetInfoDataObject::GetDataSize(const wxDataFormat& format) const {
if (format.GetType() != wxDF_TEXT
&& format.GetType() != wxDF_FILENAME
// && format.GetType() != wxDF_OEMTEXT
&& format.GetType() != wxDF_UNICODETEXT)
assert(false);
wxString url = GetUrl();
size_t ret = url.length();
if (format.GetType() == wxDF_FILENAME)
ret += 1;
return ret;
}
开发者ID:wds315,项目名称:szarp,代码行数:16,代码来源:drawdnd.cpp
示例2: wxCHECK_RET
void wxClipboard::GTKOnSelectionReceived(const GtkSelectionData& sel)
{
wxCHECK_RET( m_receivedData, wxT("should be inside GetData()") );
const wxDataFormat format(gtk_selection_data_get_target(const_cast<GtkSelectionData*>(&sel)));
wxLogTrace(TRACE_CLIPBOARD, wxT("Received selection %s"),
format.GetId().c_str());
if ( !m_receivedData->IsSupportedFormat(format, wxDataObject::Set) )
return;
m_receivedData->SetData(format,
gtk_selection_data_get_length(const_cast<GtkSelectionData*>(&sel)),
gtk_selection_data_get_data(const_cast<GtkSelectionData*>(&sel)));
m_formatSupported = true;
}
开发者ID:chromylei,项目名称:third_party,代码行数:16,代码来源:clipbrd.cpp
示例3: GetDataSize
size_t wxBitmapDataObject::GetDataSize(const wxDataFormat& format) const
{
if ( format.GetFormatId() == CF_DIB )
{
// create the DIB
ScreenHDC hdc;
// shouldn't be selected into a DC or GetDIBits() would fail
wxASSERT_MSG( !m_bitmap.GetSelectedInto(),
wxT("can't copy bitmap selected into wxMemoryDC") );
// first get the info
BITMAPINFO bi;
if ( !GetDIBits(hdc, (HBITMAP)m_bitmap.GetHBITMAP(), 0, 0,
NULL, &bi, DIB_RGB_COLORS) )
{
wxLogLastError(wxT("GetDIBits(NULL)"));
return 0;
}
return sizeof(BITMAPINFO) + bi.bmiHeader.biSizeImage;
}
else // CF_BITMAP
{
// no data to copy - we don't pass HBITMAP via global memory
return 0;
}
}
开发者ID:hazeeq090576,项目名称:wxWidgets,代码行数:29,代码来源:dataobj.cpp
示例4: return
bool wxDataFormat::operator==(const wxDataFormat& format) const
{
if (IsStandard() || format.IsStandard())
return ( format.m_type == m_type );
else
return ( UTTypeConformsTo( (CFStringRef) m_format , (CFStringRef) format.m_format ) );
}
开发者ID:Bluehorn,项目名称:wxPython,代码行数:7,代码来源:dataobj.cpp
示例5: wxGetClipboardFormatName
bool wxGetClipboardFormatName(const wxDataFormat& dataFormat, char *formatName,
int maxCount)
{
wxStrlcpy( formatName, dataFormat.GetId().c_str(), maxCount );
return true;
}
开发者ID:CodeTickler,项目名称:wxWidgets,代码行数:7,代码来源:clipbrd.cpp
示例6: IsSupported
bool wxClipboard::IsSupported( const wxDataFormat &dataFormat )
{
wxLogTrace(TRACE_CLIPBOARD, wxT("Checking if format %s is available"),
dataFormat.GetId().c_str());
if ( m_data )
return m_data->IsSupported( dataFormat );
return wxDataObject::IsFormatInPasteboard( m_pasteboard, dataFormat );
}
开发者ID:CyberIntelMafia,项目名称:clamav-devel,代码行数:9,代码来源:clipbrd.cpp
示例7: GetDataHere
bool SetInfoDataObject::GetDataHere(const wxDataFormat& format, void *pbuf) const {
if (format.GetType() != wxDF_TEXT
&& format.GetType() != wxDF_FILENAME
// && format.GetType() != wxDF_OEMTEXT
&& format.GetType() != wxDF_UNICODETEXT)
return false;
wxString url = GetUrl();
char *curl = strdup((char*)SC::S2U(url).c_str());
size_t len = strlen(curl);
if (format.GetType() == wxDF_FILENAME)
len += 1;
memcpy(pbuf, curl, len);
free(curl);
return true;
}
开发者ID:wds315,项目名称:szarp,代码行数:19,代码来源:drawdnd.cpp
示例8: SetData
void CIDataObject::SetData (
const wxDataFormat& rFormat
, char* pzBuffer
)
{
ULONG ulSize = 0;
switch (rFormat.GetType())
{
case wxDF_TEXT:
case wxDF_OEMTEXT:
case wxDF_FILENAME:
case wxDF_HTML:
ulSize = strlen((const char *)pzBuffer);
break;
#if wxUSE_UNICODE
case wxDF_UNICODETEXT:
ulSize = ::wcslen((const wchar_t *)pzBuffer);
break;
#endif
case wxDF_BITMAP:
case wxDF_METAFILE:
case wxDF_ENHMETAFILE:
case wxDF_TIFF:
case wxDF_DIB:
ulSize = 0; // pass via a handle
break;
case wxDF_SYLK:
case wxDF_DIF:
case wxDF_PALETTE:
case wxDF_PENDATA:
case wxDF_RIFF:
case wxDF_WAVE:
case wxDF_LOCALE:
//PUNT
break;
case wxDF_PRIVATE:
size_t* p = (size_t *)pzBuffer;
ulSize = *p++;
pzBuffer = (char*)p;
break;
}
m_pDataObject->SetData( rFormat
,ulSize
,(void*)pzBuffer
);
} // end of CIDataObject::SetData
开发者ID:LuaDist,项目名称:wxwidgets,代码行数:53,代码来源:dataobj.cpp
示例9: SetData
bool SetInfoDataObject::SetData(const wxDataFormat& format, size_t len, const void *buf) {
if (format.GetType() != wxDF_TEXT
&& format.GetType() != wxDF_FILENAME
// && format.GetType() != wxDF_OEMTEXT
&& format.GetType() != wxDF_UNICODETEXT)
return false;
unsigned char *escaped = (unsigned char*)malloc(len + 1);
memcpy(escaped, buf, len);
escaped[len] = '\0';
wxString url = decode_string(escaped);
free(escaped);
url.Trim(true);
url.Trim(false);
if (!decode_url(url, m_prefix, m_set, m_period, m_time, m_selected_draw))
return false;
return true;
}
开发者ID:wds315,项目名称:szarp,代码行数:21,代码来源:drawdnd.cpp
示例10: GetData
bool CIDataObject::GetData ( const wxDataFormat& rFormat,
char* pzBuffer,
ULONG ulLen )
{
QueryGetData(rFormat);
if (rFormat.GetType() == wxDF_INVALID)
return false;
ULONG ulSize = m_pDataObject->GetDataSize(rFormat);
if (ulSize == 0)
{
//
// It probably means that the method is just not implemented
//
return false;
}
if (rFormat.GetType() == wxDF_PRIVATE)
{
//
// For custom formats, put the size with the data - alloc the
// space for it
//
ulSize += sizeof(ULONG);
}
if (ulSize > ulLen) // not enough room to copy
return false;
//
// Copy the data
//
GetDataHere( rFormat
,pzBuffer
,ulSize
);
return true;
} // end of CIDataObject::GetData
开发者ID:LuaDist,项目名称:wxwidgets,代码行数:38,代码来源:dataobj.cpp
示例11: PasteboardSynchronize
bool wxDataObject::IsFormatInPasteboard( void * pb, const wxDataFormat &dataFormat )
{
PasteboardRef pasteboard = (PasteboardRef) pb;
bool hasData = false;
OSStatus err = noErr;
ItemCount itemCount;
// we synchronize here once again, so we don't mind which flags get returned
PasteboardSynchronize( pasteboard );
err = PasteboardGetItemCount( pasteboard, &itemCount );
if ( err == noErr )
{
for( UInt32 itemIndex = 1; itemIndex <= itemCount && hasData == false ; itemIndex++ )
{
PasteboardItemID itemID;
CFArrayRef flavorTypeArray;
CFIndex flavorCount;
err = PasteboardGetItemIdentifier( pasteboard, itemIndex, &itemID );
if ( err != noErr )
continue;
err = PasteboardCopyItemFlavors( pasteboard, itemID, &flavorTypeArray );
if ( err != noErr )
continue;
flavorCount = CFArrayGetCount( flavorTypeArray );
for( CFIndex flavorIndex = 0; flavorIndex < flavorCount && hasData == false ; flavorIndex++ )
{
CFStringRef flavorType;
flavorType = (CFStringRef)CFArrayGetValueAtIndex( flavorTypeArray,
flavorIndex );
wxDataFormat flavorFormat( (wxDataFormat::NativeFormat) flavorType );
if ( dataFormat == flavorFormat )
hasData = true;
else if ( dataFormat.GetType() == wxDF_UNICODETEXT && flavorFormat.GetType() == wxDF_TEXT )
hasData = true;
}
CFRelease (flavorTypeArray);
}
}
return hasData;
}
开发者ID:Bluehorn,项目名称:wxPython,代码行数:48,代码来源:dataobj.cpp
示例12: wxLogTrace
bool wxClipboard::IsSupported( const wxDataFormat& format )
{
/* reentrance problems */
if (m_waiting) return FALSE;
/* store requested format to be asked for by callbacks */
m_targetRequested = format;
wxLogTrace( TRACE_CLIPBOARD,
wxT("wxClipboard:IsSupported: requested format: %s"),
format.GetId().c_str() );
wxCHECK_MSG( m_targetRequested, FALSE, wxT("invalid clipboard format") );
m_formatSupported = FALSE;
/* perform query. this will set m_formatSupported to
TRUE if m_targetRequested is supported.
also, we have to wait for the "answer" from the
clipboard owner which is an asynchronous process.
therefore we set m_waiting = TRUE here and wait
until the callback "targets_selection_received"
sets it to FALSE */
m_waiting = TRUE;
gtk_selection_convert( m_targetsWidget,
m_usePrimary ? (GdkAtom)GDK_SELECTION_PRIMARY
: g_clipboardAtom,
g_targetsAtom,
(guint32) GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration();
#if defined(__WXGTK20__) && wxUSE_UNICODE
if (!m_formatSupported && format == wxDataFormat(wxDF_UNICODETEXT))
{
// Another try with plain STRING format
extern GdkAtom g_altTextAtom;
return IsSupported(g_altTextAtom);
}
#endif
return m_formatSupported;
}
开发者ID:HackLinux,项目名称:chandler-1,代码行数:45,代码来源:clipbrd.cpp
示例13: SetData
bool wxBitmapDataObject::SetData(const wxDataFormat& format,
size_t size, const void *pBuf)
{
HBITMAP hbmp;
if ( format.GetFormatId() == CF_DIB )
{
// here we get BITMAPINFO struct followed by the actual bitmap bits and
// BITMAPINFO starts with BITMAPINFOHEADER followed by colour info
ScreenHDC hdc;
BITMAPINFO *pbmi = (BITMAPINFO *)pBuf;
BITMAPINFOHEADER *pbmih = &pbmi->bmiHeader;
hbmp = CreateDIBitmap(hdc, pbmih, CBM_INIT,
pbmi + 1, pbmi, DIB_RGB_COLORS);
if ( !hbmp )
{
wxLogLastError(wxT("CreateDIBitmap"));
}
m_bitmap.SetWidth(pbmih->biWidth);
m_bitmap.SetHeight(pbmih->biHeight);
}
else // CF_BITMAP
{
// it's easy with bitmaps: we pass them by handle
hbmp = *(HBITMAP *)pBuf;
BITMAP bmp;
if ( !GetObject(hbmp, sizeof(BITMAP), &bmp) )
{
wxLogLastError(wxT("GetObject(HBITMAP)"));
}
m_bitmap.SetWidth(bmp.bmWidth);
m_bitmap.SetHeight(bmp.bmHeight);
m_bitmap.SetDepth(bmp.bmPlanes);
}
m_bitmap.SetHBITMAP((WXHBITMAP)hbmp);
wxASSERT_MSG( m_bitmap.IsOk(), wxT("pasting invalid bitmap") );
return true;
}
开发者ID:hazeeq090576,项目名称:wxWidgets,代码行数:44,代码来源:dataobj.cpp
示例14: IsSupported
bool wxClipboard::IsSupported(const wxDataFormat& format)
{
Display* xdisplay = wxGlobalDisplay();
Window xwindow = XtWindow( (Widget)wxTheApp->GetTopLevelRealizedWidget() );
bool isSupported = false;
int retval, count;
unsigned long max_name_length;
wxString id = format.GetId();
while( ( retval = XmClipboardLock( xdisplay, xwindow ) )
== XmClipboardLocked );
if( retval != XmClipboardSuccess )
return false;
if( XmClipboardInquireCount( xdisplay, xwindow, &count, &max_name_length )
== XmClipboardSuccess )
{
wxCharBuffer buf( max_name_length + 1 );
unsigned long copied;
for( int i = 0; i < count; ++i )
{
if( XmClipboardInquireFormat( xdisplay, xwindow, i + 1,
(XtPointer)buf.data(),
max_name_length, &copied )
!= XmClipboardSuccess )
continue;
buf.data()[copied] = '\0';
if( buf == id )
{
isSupported = true;
break;
}
}
}
XmClipboardUnlock( xdisplay, xwindow, False );
return isSupported;
}
开发者ID:CodeTickler,项目名称:wxWidgets,代码行数:42,代码来源:clipbrd.cpp
示例15: IsSupported
bool wxClipboard::IsSupported( const wxDataFormat& format )
{
/* reentrance problems */
if (m_waiting) return false;
/* store requested format to be asked for by callbacks */
m_targetRequested = format;
#if 0
wxLogTrace( TRACE_CLIPBOARD,
wxT("wxClipboard:IsSupported: requested format: %s"),
format.GetId().c_str() );
#endif
wxCHECK_MSG( m_targetRequested, false, wxT("invalid clipboard format") );
m_formatSupported = false;
/* perform query. this will set m_formatSupported to
true if m_targetRequested is supported.
also, we have to wait for the "answer" from the
clipboard owner which is an asynchronous process.
therefore we set m_waiting = true here and wait
until the callback "targets_selection_received"
sets it to false */
m_waiting = true;
#if 0
gtk_selection_convert( m_targetsWidget,
m_usePrimary ? (GdkAtom)GDK_SELECTION_PRIMARY
: g_clipboardAtom,
g_targetsAtom,
(guint32) GDK_CURRENT_TIME );
while (m_waiting) gtk_main_iteration();
#endif
if (!m_formatSupported) return false;
return true;
}
开发者ID:czxxjtu,项目名称:wxPython-1,代码行数:42,代码来源:clipbrd.cpp
示例16: GetDataHere
bool wxBitmapDataObject::GetDataHere(const wxDataFormat& format,
void *pBuf) const
{
wxASSERT_MSG( m_bitmap.IsOk(), wxT("copying invalid bitmap") );
HBITMAP hbmp = (HBITMAP)m_bitmap.GetHBITMAP();
if ( format.GetFormatId() == CF_DIB )
{
// create the DIB
ScreenHDC hdc;
// shouldn't be selected into a DC or GetDIBits() would fail
wxASSERT_MSG( !m_bitmap.GetSelectedInto(),
wxT("can't copy bitmap selected into wxMemoryDC") );
// first get the info
BITMAPINFO *pbi = (BITMAPINFO *)pBuf;
if ( !GetDIBits(hdc, hbmp, 0, 0, NULL, pbi, DIB_RGB_COLORS) )
{
wxLogLastError(wxT("GetDIBits(NULL)"));
return 0;
}
// and now copy the bits
if ( !GetDIBits(hdc, hbmp, 0, pbi->bmiHeader.biHeight, pbi + 1,
pbi, DIB_RGB_COLORS) )
{
wxLogLastError(wxT("GetDIBits"));
return false;
}
}
else // CF_BITMAP
{
// we put a bitmap handle into pBuf
*(HBITMAP *)pBuf = hbmp;
}
return true;
}
开发者ID:hazeeq090576,项目名称:wxWidgets,代码行数:41,代码来源:dataobj.cpp
示例17: DoIsSupported
bool wxClipboard::DoIsSupported(const wxDataFormat& format)
{
wxCHECK_MSG( format, false, wxT("invalid clipboard format") );
wxLogTrace(TRACE_CLIPBOARD, wxT("Checking if format %s is available"),
format.GetId().c_str());
// these variables will be used by our GTKOnTargetReceived()
m_targetRequested = format;
m_formatSupported = false;
// block until m_formatSupported is set from targets_selection_received
// callback
{
wxClipboardSync sync(*this);
gtk_selection_convert( m_targetsWidget,
GTKGetClipboardAtom(),
g_targetsAtom,
(guint32) GDK_CURRENT_TIME );
}
return m_formatSupported;
}
开发者ID:chromylei,项目名称:third_party,代码行数:24,代码来源:clipbrd.cpp
注:本文中的wxDataFormat类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论