本文整理汇总了C++中dataType函数的典型用法代码示例。如果您正苦于以下问题:C++ dataType函数的具体用法?C++ dataType怎么用?C++ dataType使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dataType函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Q_D
QVector<QVector2D> QAttribute::asVector2D() const
{
Q_D(const QAttribute);
char* rawBuffer = d->m_buffer->data().data();
rawBuffer += d->m_byteOffset;
float* fptr;
int stride;
switch (dataType()) {
case QAttribute::Float:
stride = sizeof(float) * dataSize();
break;
default:
qCDebug(Render::Io) << Q_FUNC_INFO << "can't convert" << dataType() << "x" << dataSize() << "to QVector3D";
return QVector<QVector2D>();
}
if (d->m_byteStride != 0)
stride = d->m_byteStride;
QVector<QVector2D> result;
result.resize(d->m_count);
for (uint c = 0; c < d->m_count; ++c) {
QVector2D v;
fptr = reinterpret_cast<float*>(rawBuffer);
for (uint i = 0, m = qMin(dataSize(), 2U); i < m; ++i)
v[i] = fptr[i];
result[c] = v;
rawBuffer += stride;
}
return result;
}
开发者ID:James-intern,项目名称:Qt,代码行数:35,代码来源:qattribute.cpp
示例2: H5Awrite
char HStringAttribute::write(const std::string & str)
{
herr_t status = H5Awrite(fObjectId, dataType(), str.c_str());
if(status < 0)
return 0;
return 1;
}
开发者ID:ahmidou,项目名称:aphid,代码行数:7,代码来源:HStringAttribute.cpp
示例3: QString
AMDSFlatArray *AmptekSDD123Detector::readSpectrumData(const QByteArray &spectrumData, int numChannels) {
if (numChannels != bufferSize()) {
AMDSRunTimeSupport::debugMessage(AMDSRunTimeSupport::AlertMsg, this, AMPTEK_ALERT_CHANNEL_NUMBER_UNMATCH, QString("Spectrum channel number (%1) doesn't match with the expected buffer size (%2)").arg(numChannels).arg(bufferSize()));
}
AMDSFlatArray *spectrumArray = new AMDSFlatArray(dataType(), bufferSize());
QList<double> spectrum;
QByteArray tmpData;
bool ok;
//qDebug() << spectrumData.size();
for(int index = 0; index < numChannels; index++) {
backwardsMid(index*3, 3, spectrumData, tmpData);
spectrum.append(tmpData.toHex().toInt(&ok, 16));
// spectrumArray->setValue(index, tmpData.toHex().toInt(&ok, 16));
// spectrumArray->setValue(index, spectrum.last());
spectrumArray->setValue(index, (quint16)(spectrum.last()));
}
//qDebug() << "Spectrum ready:\n " << spectrum;
emit spectrumChanged(spectrum);
return spectrumArray;
}
开发者ID:acquaman,项目名称:AcquamanDataServer,代码行数:27,代码来源:AmptekSDD123Detector.cpp
示例4: H5Aread
char HIntAttribute::read(int *data)
{
herr_t status = H5Aread(fObjectId, dataType(), data);
if(status < 0)
return 0;
return 1;
}
开发者ID:ahmidou,项目名称:aphid,代码行数:7,代码来源:HIntAttribute.cpp
示例5: kDebug
KDEVPLATFORMLANGUAGE_EXPORT
void ConstantIntegralType::setValueInternal<double>(double value) {
if(dataType() != TypeDouble) {
kDebug() << "setValue(double) called on non-double type";
}
memcpy(&d_func_dynamic()->m_value, &value, sizeof(double));
}
开发者ID:portaloffreedom,项目名称:kdev-golang-plugin,代码行数:7,代码来源:constantintegraltype.cpp
示例6: deserializeDataSourceData
RemoteInformation deserializeDataSourceData( const ::zeq::Event& event )
{
if( event.getType() != EVENT_DATASOURCE_DATA )
return RemoteInformation();
auto data = GetVolumeInformation( event.getData( ));
RemoteInformation info;
livre::VolumeInformation& vi = info.second;
info.first.low() = data->eventLow();
info.first.high() = data->eventHigh();
vi.isBigEndian = data->isBigEndian();
vi.compCount = data->compCount();
vi.dataType = DataType( data->dataType( ));
vi.overlap = _deserializeVector3< unsigned >( data->overlap( ));
vi.maximumBlockSize = _deserializeVector3< unsigned >(
data->maximumBlockSize( ));
vi.minPos = _deserializeVector3< float >( data->minPos( ));
vi.maxPos = _deserializeVector3< float >( data->maxPos( ));
vi.voxels = _deserializeVector3< unsigned >( data->voxels( ));
vi.worldSize = _deserializeVector3< float >( data->worldSize( ));
vi.boundingBox.getMin() = _deserializeVector3< float >(
data->boundingBoxMin( ));
vi.boundingBox.getMax() = _deserializeVector3< float >(
data->boundingBoxMax( ));
vi.worldSpacePerVoxel = data->worldSpacePerVoxel();
const Vector3ui& blockSize = vi.maximumBlockSize - vi.overlap * 2;
Vector3ui blocksSize = vi.voxels / blockSize;
blocksSize = blocksSize / ( 1u << data->depth( ));
vi.rootNode = RootNode( data->depth(), blocksSize );
return info;
}
开发者ID:hernando,项目名称:Livre,代码行数:34,代码来源:events.cpp
示例7: switch
void CategoryTree::onSelChanged( wxTreeEvent& pEvent ) {
wxArrayTreeItemIds ids;
this->GetSelections( ids );
// Only raise events if only one entry was selected
if ( ids.Count( ) == 1 ) {
auto itemData = static_cast<const CategoryTreeItem*>( this->GetItemData( ids[0] ) );
if ( !itemData ) {
return;
}
// raise the correct event
switch ( itemData->dataType( ) ) {
case CategoryTreeItem::DT_Category:
for ( ListenerSet::iterator it = m_listeners.begin( ); it != m_listeners.end( ); it++ ) {
( *it )->onTreeCategoryClicked( *this, *static_cast<const DatIndexCategory*>( itemData->data( ) ) );
}
break;
case CategoryTreeItem::DT_Entry:
for ( ListenerSet::iterator it = m_listeners.begin( ); it != m_listeners.end( ); it++ ) {
( *it )->onTreeEntryClicked( *this, *static_cast<const DatIndexEntry*>( itemData->data( ) ) );
}
}
}
}
开发者ID:Sirrusu,项目名称:Gw2Browser,代码行数:25,代码来源:CategoryTree.cpp
示例8: while
wxTreeItemId CategoryTree::addCategoryEntry( const wxTreeItemId& p_parent, const wxString& p_displayName ) {
wxTreeItemIdValue cookie;
wxTreeItemId previous;
auto child = this->GetFirstChild( p_parent, cookie );
while ( child.IsOk( ) ) {
auto text = this->GetItemText( child );
// Compare
if ( text > p_displayName ) {
break;
}
// Categories have nullptr item data
auto data = static_cast<const CategoryTreeItem*>( this->GetItemData( child ) );
if ( data->dataType( ) != CategoryTreeItem::DT_Category ) {
break;
}
// Move to next
previous = child;
child = this->GetNextChild( p_parent, cookie );
}
// This item should be first if there *is* something in this list, but previous is nothing
if ( child.IsOk( ) && !previous.IsOk( ) ) {
return this->InsertItem( p_parent, 0, p_displayName, CategoryTreeImageList::IT_ClosedFolder );
}
// This item should be squashed in if both child and previous are ok
if ( child.IsOk( ) && previous.IsOk( ) ) {
return this->InsertItem( p_parent, previous, p_displayName, CategoryTreeImageList::IT_ClosedFolder );
}
// If the above fails, it means we went through the entire list without finding a proper spot
return this->AppendItem( p_parent, p_displayName, CategoryTreeImageList::IT_ClosedFolder );
}
开发者ID:Sirrusu,项目名称:Gw2Browser,代码行数:32,代码来源:CategoryTree.cpp
示例9: writeArray
void writeArray(H5::Group &group, const std::string &name,
const std::string &value) {
StrType dataType(0, value.length() + 1);
DataSpace dataSpace = getDataSpace(1);
H5::DataSet data = group.createDataSet(name, dataType, dataSpace);
data.write(value, dataType);
}
开发者ID:dezed,项目名称:mantid,代码行数:7,代码来源:SaveDiffCal.cpp
示例10: INPUT_VARIABLE
Nd4jStatus LegacyScalarOp::validateAndExecute(Context &block) {
auto x = INPUT_VARIABLE(0);
int offset = 0;
auto z = OUTPUT_VARIABLE(0);
int opNum = block.opNum() < 0 ? this->_opNum : block.opNum();
if (block.width() > 1) {
auto y = INPUT_VARIABLE(1);
y->printIndexedBuffer("scalar");
// FIXME
NativeOpExcutioner::execScalar(opNum, x->getBuffer(), x->getShapeInfo(), z->getBuffer(), z->getShapeInfo(), y->buffer(), y->shapeInfo(), block.getTArguments()->data());
} else if (block.getTArguments()->size() > 0) {
auto y = NDArrayFactory::create(x->dataType(), T_ARG(0), block.getWorkspace());
offset++;
// FIXME
NativeOpExcutioner::execScalar(opNum, x->getBuffer(), x->getShapeInfo(), z->getBuffer(), z->getShapeInfo(), y.buffer(), y.shapeInfo(), block.getTArguments()->data() + offset);
} else {
// FIXME
NativeOpExcutioner::execScalar(opNum, x->getBuffer(), x->getShapeInfo(), z->getBuffer(), z->getShapeInfo(), _scalar.buffer(), _scalar.shapeInfo(), block.getTArguments()->data());
}
STORE_RESULT(*z);
return Status::OK();
}
开发者ID:akhodakivskiy,项目名称:deeplearning4j,代码行数:28,代码来源:LegacyScalarOp.cpp
示例11: dataType
// ---------------------------------------------------------
// CBrCtlApiTestObserver::HandleDownloadL
// ---------------------------------------------------------
//
TBool CBrCtlApiTestObserver::HandleDownloadL(RArray<TUint>* aTypeArray, CDesCArrayFlat* aDesArray)
{
TInt i = 0;
TInt count = aTypeArray->Count();
for (i = 0; i < count; i++)
{
if ((*aTypeArray)[i] == EParamLocalFileName && aDesArray[i].Length() > 0)
{
TInt j = 0;
for (j = 0; j < count; j++)
{
if ((*aTypeArray)[j] == EParamReceivedContentType)
{
HBufC8* dataType8 = HBufC8::NewLC((*aDesArray)[j].Length());
dataType8->Des().Copy((*aDesArray)[j]);
TDataType dataType(*dataType8);
iHandler->OpenFileEmbeddedL((*aDesArray)[i], dataType);
CleanupStack::PopAndDestroy();
break;
}
}
break;
}
}
return EFalse;
}
开发者ID:gvsurenderreddy,项目名称:symbiandump-mw4,代码行数:30,代码来源:BrCtlApiTestObserver.cpp
示例12: OnCompareItems
int CategoryTree::OnCompareItems( const wxTreeItemId& p_item1, const wxTreeItemId& p_item2 ) {
int Result = 0;
auto itemData1 = static_cast<const CategoryTreeItem*>( this->GetItemData( p_item1 ) );
auto itemData2 = static_cast<const CategoryTreeItem*>( this->GetItemData( p_item2 ) );
if ( itemData1->dataType() == CategoryTreeItem::DT_Entry && itemData2->dataType() == CategoryTreeItem::DT_Entry ) {
auto itemEntry1 = static_cast<const DatIndexEntry*>( itemData1->data() );
auto itemEntry2 = static_cast<const DatIndexEntry*>( itemData2->data() );
if ( itemEntry1->baseId() > itemEntry2->baseId() ) {
Result = 1;
} else if ( itemEntry1->baseId() < itemEntry2->baseId() ) {
Result = -1;
}
}
return Result;
}
开发者ID:Sirrusu,项目名称:Gw2Browser,代码行数:17,代码来源:CategoryTree.cpp
示例13: index
std::shared_ptr<QgsMeshMemoryDatasetGroup> QgsMeshCalcUtils::create( const QString &datasetGroupName ) const
{
const auto dp = mMeshLayer->dataProvider();
std::shared_ptr<QgsMeshMemoryDatasetGroup> grp;
for ( int group_i = 0; group_i < dp->datasetGroupCount(); ++group_i )
{
const auto meta = dp->datasetGroupMetadata( group_i );
const QString name = meta.name();
if ( name == datasetGroupName )
{
grp = std::make_shared<QgsMeshMemoryDatasetGroup>();
grp->isScalar = meta.isScalar();
grp->type = meta.dataType();
grp->maximum = meta.maximum();
grp->minimum = meta.minimum();
grp->name = meta.name();
int count = ( meta.dataType() == QgsMeshDatasetGroupMetadata::DataOnFaces ) ? dp->faceCount() : dp->vertexCount();
for ( int dataset_i = 0; dataset_i < dp->datasetCount( group_i ); ++dataset_i )
{
const QgsMeshDatasetIndex index( group_i, dataset_i );
const auto dsMeta = dp->datasetMetadata( index );
std::shared_ptr<QgsMeshMemoryDataset> ds = create( grp->type );
ds->maximum = dsMeta.maximum();
ds->minimum = dsMeta.minimum();
ds->time = dsMeta.time();
ds->valid = dsMeta.isValid();
const QgsMeshDataBlock block = dp->datasetValues( index, 0, count );
Q_ASSERT( block.count() == count );
for ( int value_i = 0; value_i < count; ++value_i )
ds->values[value_i] = block.value( value_i );
const QgsMeshDataBlock active = dp->areFacesActive( index, 0, dp->faceCount() );
Q_ASSERT( active.count() == dp->faceCount() );
for ( int value_i = 0; value_i < dp->faceCount(); ++value_i )
ds->active[value_i] = active.active( value_i );
grp->addDataset( ds );
}
break;
}
}
return grp;
}
开发者ID:dmarteau,项目名称:QGIS,代码行数:46,代码来源:qgsmeshcalcutils.cpp
示例14: _LIT8
/**
@SYMTestCaseID APPFWK-APPARC-0036
@SYMPREQ Policing server apis
@SYMTestCaseDesc Testing whether untrusted applications are able to override MIME types mapping
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions To connect to RApaLsSession and try to register trusted and untrusted apps for mime types.
@SYMTestExpectedResults Test should complete without any panic.
*/
void CT_DataTypeMappingWithSid1::ExecuteL(RApaLsSession& aLs)
{
TInt ret;
TBool added=EFalse;
_LIT8(KLitAudioFake, "audio/fakedata");
TDataType dataType( KLitAudioFake );
TUid trustedAppUid = {0x10207f8f};
TUid untrustedAppUid = {0xA3010010};
TUid retAppUid( KNullUid );
ret=aLs.InsertDataMapping(dataType, KDataTypePriorityHigh, trustedAppUid);
INFO_PRINTF1(_L("Trusted app sets a MimeType mapping: InsertDataMapping with PriorityHigh"));
INFO_PRINTF3(_L("Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
ret = aLs.AppForDataType(dataType,retAppUid);
INFO_PRINTF3(_L("Testing SID: Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
INFO_PRINTF3(_L("Expected SID: %d, Actual SID value: %d"), trustedAppUid, retAppUid);
TEST(retAppUid == trustedAppUid);
ret=aLs.InsertDataMappingIfHigher(dataType, KDataTypePriorityTrustedHigh, untrustedAppUid, added);
INFO_PRINTF1(_L("UnTrusted app sets a MimeType mapping: InsertDataMapping with PriorityTrustedHigh"));
INFO_PRINTF3(_L("Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
ret = aLs.AppForDataType(dataType,retAppUid);
INFO_PRINTF3(_L("Testing SID: Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
INFO_PRINTF3(_L("Expected SID: %d, Actual SID value: %d"), untrustedAppUid, retAppUid);
TEST(retAppUid == untrustedAppUid);
ret=aLs.InsertDataMappingIfHigher(dataType, KDataTypePriorityTrustedHigh, trustedAppUid, added);
INFO_PRINTF1(_L("Trusted app sets a MimeType mapping: InsertDataMapping with PriorityTrustedHigh"));
INFO_PRINTF3(_L("Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
ret = aLs.AppForDataType(dataType,retAppUid);
INFO_PRINTF3(_L("Testing SID: Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
INFO_PRINTF3(_L("Expected SID: %d, Actual SID value: %d"), trustedAppUid, retAppUid);
TEST(retAppUid == trustedAppUid);
ret=aLs.InsertDataMappingIfHigher(dataType, KDataTypePriorityTrustedHigh+1, untrustedAppUid, added);
INFO_PRINTF1(_L("UnTrusted app sets a MimeType mapping: InsertDataMapping with KDataTypePriorityTrustedHigh+1"));
INFO_PRINTF3(_L("Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
ret = aLs.AppForDataType(dataType,retAppUid);
INFO_PRINTF3(_L("Testing SID: Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
INFO_PRINTF3(_L("Expected SID: %d, Actual SID value: %d"), trustedAppUid, retAppUid);
TEST(retAppUid == trustedAppUid);
//delete data type mapping
ret=aLs.DeleteDataMapping(dataType);
INFO_PRINTF3(_L("Deleting data mapping: Expected return code: %d, Actual return code: %d"), KErrNone, ret);
TEST(ret==KErrNone);
}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:72,代码来源:T_DataTypeMappingWithSid1.cpp
示例15: H5Awrite
char HVLStringAttribute::write(const std::string & str)
{
const char *string_att[1];
string_att[0] = str.c_str();
herr_t status = H5Awrite(fObjectId, dataType(), &string_att);
if(status < 0)
return 0;
return 1;
}
开发者ID:spinos,项目名称:aphid,代码行数:11,代码来源:HStringAttribute.cpp
示例16: instance2xml
int
instance2xml(CMPIInstance *ci, UtilStringBuffer * sb, unsigned int flags)
{
ClInstance *inst = (ClInstance *) ci->hdl;
int i,
m = ClInstanceGetPropertyCount(inst);
char *type;
UtilStringBuffer *qsb = UtilFactory->newStrinBuffer(1024);
_SFCB_ENTER(TRACE_CIMXMLPROC, "instance2xml");
SFCB_APPENDCHARS_BLOCK(sb, "<INSTANCE CLASSNAME=\"");
sb->ft->appendChars(sb, instGetClassName(ci));
SFCB_APPENDCHARS_BLOCK(sb, "\">\n");
if (flags & FL_includeQualifiers)
quals2xml(inst->quals, sb);
for (i = 0; i < m; i++) {
CMPIString name;
CMPIData data;
qsb->ft->reset(qsb);
if (ClInstanceIsPropertyAtFiltered(inst, i)) {
continue;
}
data =
__ift_internal_getPropertyAt(ci, i, (char **) &name.hdl, NULL, 1);
if (data.type & CMPI_ARRAY) {
DATA2XML(&data, ci, &name, NULL, "<PROPERTY.ARRAY NAME=\"",
"</PROPERTY.ARRAY>\n", sb, qsb, 1, 0);
} else {
type = dataType(data.type);
if (*type == '*')
DATA2XML(&data, ci, &name, NULL, "<PROPERTY.REFERENCE NAME=\"",
"</PROPERTY.REFERENCE>\n", sb, qsb, 1, 0);
else
DATA2XML(&data, ci, &name, NULL, "<PROPERTY NAME=\"",
"</PROPERTY>\n", sb, qsb, 1, 0);
}
if (data.type & (CMPI_ENC | CMPI_ARRAY)) { // don't get confused
// using generic release
if ((data.state & ~CMPI_keyValue) == 0 && data.type != CMPI_instance)
data.value.inst->ft->release(data.value.inst);
}
}
SFCB_APPENDCHARS_BLOCK(sb, "</INSTANCE>\n");
qsb->ft->release(qsb);
_SFCB_RETURN(0);
}
开发者ID:pravinmahajan,项目名称:sblim-sfcb,代码行数:53,代码来源:cimXmlGen.c
示例17: dataType
/**
@SYMTestCaseID T-MimeStep-testTDataTypeL
@SYMPREQ
@SYMTestCaseDesc Test TDataType structure by creating new automatic variables
@SYMTestPriority High
@SYMTestStatus Implemented
@SYMTestActions The test creates new TDataType automatic variables.
It creates a first TDataType using the constructor taking a UID. The data
type must be a native Symbian data type, with an associated UID equal
to the original UID from which the UID was constructed.\n
A second TDataType is created using a pointer descriptor to the data
type previously created. Also, the data type must be a native Symbian data
type, with the same associated UID than the previously data type created.\n
API Calls:\n
TDataType::TDataType() \n
TDataType::TDataType(const TDesC8& aDataType) \n
TDataType::IsNative() \n
TDataType::Uid() \n
@SYMTestExpectedResults Test should complete without any panic.
*/
void CT_MimeStep::testTDataTypeL()
// check TDataType constructors
{
TUid uid={0x12345678};
TDataType dataType(uid);
TEST(dataType.IsNative());
TEST(dataType.Uid()==uid);
TDataType secondType(dataType.Des8());
TEST(secondType==dataType);
TEST(secondType.IsNative());
TEST(secondType.Uid()==uid);
}
开发者ID:cdaffara,项目名称:symbiandump-os2,代码行数:39,代码来源:T_MimeStep.cpp
示例18: dataSpaceDimension
char HStringAttribute::read(std::string & str)
{
const int d = dataSpaceDimension();
char * t = new char[d + 1];
herr_t status = H5Aread(fObjectId, dataType(), t);
if(status < 0)
return 0;
t[d] = '\0';
str = std::string(t);
delete[] t;
return 1;
}
开发者ID:ahmidou,项目名称:aphid,代码行数:12,代码来源:HStringAttribute.cpp
示例19: operator
value_type operator()(size_type i, size_type j) const {
#ifndef _OPTIMIZED
if(i>= _brows*BLOCK || j >=_bcols*BLOCK) {
std::cerr << "error:sparse_bcsr:operator() out of bounds\n";
exit(1);
}
#endif
bool in_sparsity = true;
size_type bidx = bindex_of(i/BLOCK, j/BLOCK, in_sparsity);
return (in_sparsity) ? data[index(bidx, i%BLOCK, j%BLOCK)] : dataType(0);
}
开发者ID:tjolsen,项目名称:YAFEL,代码行数:13,代码来源:sparse_bcsr.hpp
示例20: wxSizerFlags
bool PreviewPanel::previewFile( DatFile& p_datFile, const DatIndexEntry& p_entry ) {
auto entryData = p_datFile.readFile( p_entry.mftEntry( ) );
if ( !entryData.GetSize( ) ) {
return false;
}
// Create file reader
auto reader = FileReader::readerForData( entryData, p_datFile, p_entry.fileType( ) );
if ( reader ) {
if ( m_currentView ) {
// Check if we can re-use the current viewer
if ( m_currentDataType == reader->dataType( ) ) {
m_currentView->setReader( reader );
return true;
}
// Destroy the old viewer
if ( m_currentView ) {
this->GetSizer( )->Remove( 0 );
m_currentView->Destroy( );
}
}
m_currentView = this->createViewerForDataType( reader->dataType( ), p_datFile );
if ( m_currentView ) {
// Workaround for wxWidgets fuckups
this->GetSizer( )->Add( m_currentView, wxSizerFlags( ).Expand( ).Proportion( 1 ) );
this->GetSizer( )->Layout( );
this->GetSizer( )->Fit( this );
// Set the reader
m_currentView->setReader( reader );
m_currentDataType = reader->dataType( );
return true;
}
}
return false;
}
开发者ID:Darqam,项目名称:Gw2Browser,代码行数:39,代码来源:PreviewPanel.cpp
注:本文中的dataType函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论