本文整理汇总了C++中QArray::truncate方法的典型用法代码示例。如果您正苦于以下问题:C++ QArray::truncate方法的具体用法?C++ QArray::truncate怎么用?C++ QArray::truncate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QArray
的用法示例。
在下文中一共展示了QArray::truncate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: find_trans_colors
static void find_trans_colors()
{
struct OverlayProp {
long visual;
long type;
long value;
long layer;
};
trans_colors_init = TRUE;
Display* appDisplay = QPaintDevice::x11AppDisplay();
QWidget* rootWin = QApplication::desktop();
if ( !rootWin )
return; // Should not happen
Atom overlayVisualsAtom = XInternAtom( appDisplay,
"SERVER_OVERLAY_VISUALS", True );
if ( overlayVisualsAtom == None )
return; // Server has no overlays
Atom actualType;
int actualFormat;
ulong nItems;
ulong bytesAfter;
OverlayProp* overlayProps = 0;
int res = XGetWindowProperty( appDisplay, rootWin->winId(),
overlayVisualsAtom, 0, 10000, False,
overlayVisualsAtom, &actualType,
&actualFormat, &nItems, &bytesAfter,
(uchar**)&overlayProps );
if ( res != Success || actualType != overlayVisualsAtom
|| actualFormat != 32 || nItems < 4 || !overlayProps )
return; // Error reading property
int numProps = nItems / 4;
trans_colors.resize( numProps );
int j = 0;
for ( int i = 0; i < numProps; i++ ) {
if ( overlayProps[i].type == 1 ) {
trans_colors[j].vis = (VisualID)overlayProps[i].visual;
trans_colors[j].color = (int)overlayProps[i].value;
j++;
}
}
XFree( overlayProps );
trans_colors.truncate( j );
}