void create() { setInnerSize(Vector(960, 720)); _vbiCapPipe = File("\\\\.\\pipe\\vbicap", true).openPipe(); _vbiCapPipe.write<int>(1); BitmapWindow::create(); _thread.setWindow(this); _thread.start(); }
//----------------------------------------------------------------------- RingEmitter::RingEmitter(ParticleSystem* psys) : AreaEmitter(psys) { if (initDefaults("Ring")) { // Add custom parameters ParamDictionary* pDict = getParamDictionary(); pDict->addParameter(ParameterDef("inner_width", "Parametric value describing the proportion of the " "shape which is hollow.", PT_REAL), &msCmdInnerX); pDict->addParameter(ParameterDef("inner_height", "Parametric value describing the proportion of the " "shape which is hollow.", PT_REAL), &msCmdInnerY); } // default is half empty setInnerSize(0.5,0.5); }
HollowEllipsoidEmitter::HollowEllipsoidEmitter(ParticleSystem* psys) : EllipsoidEmitter(psys) { // default is half empty setInnerSize(0.5,0.5,0.5); }
void SVGIcon::updateGeometry(int, int) { setInnerSize(style()->width(), style()->height()); }
void PanelBorderLayout::updateGeometry(int, int) { //TODO: Find a generic way of doing this and consider performance //Set Styles if (top_) top_->setStyle(&style()->topStyle()); if (left_) left_->setStyle(&style()->leftStyle()); if (right_) right_->setStyle(&style()->rightStyle()); if (bottom_) bottom_->setStyle(&style()->bottomStyle()); // Get content size int contentWidth = content_ ? content_->width() : 0; int contentHeight = content_ ? content_->height() : 0; // Compute middle sizes int middleWidth = contentWidth + style()->leftInnerMargin() + style()->rightInnerMargin(); if ( left_ && !style()->isLeftProtrusionFixed()) middleWidth += left_->width() / 2; if ( right_ ) middleWidth += right_->width() / 2; if (style()->isLeftProtrusionFixed()) { int extra = (left_ ? left_->width() : 0) - style()->leftProtrusion(); if (extra > 0) middleWidth += extra; } int maxMiddleWidth = middleWidth; if ( top_ && top_->width() > maxMiddleWidth ) maxMiddleWidth = top_->width(); if ( bottom_ && bottom_->width() > maxMiddleWidth ) maxMiddleWidth = bottom_->width(); if ( left_ && left_->height() > contentHeight ) contentHeight = left_->height(); if ( right_ && right_->height() > contentHeight ) contentHeight = right_->height(); //Adjust the size of the content if necessary if (content_ && content_->sizeDependsOnParent()) content_->changeGeometry(contentWidth + (maxMiddleWidth - middleWidth), contentHeight); //Adjust panels and/or the inner size if ( maxMiddleWidth > middleWidth ) contentWidth += maxMiddleWidth - middleWidth; if ( top_ && maxMiddleWidth > top_->width() ) top_->changeGeometry(maxMiddleWidth, 0); if ( bottom_ && maxMiddleWidth > bottom_->width() ) bottom_->changeGeometry(maxMiddleWidth, 0); if ( left_ && contentHeight > left_->height() ) left_->changeGeometry(0, contentHeight); if ( right_ && contentHeight > right_->height() ) right_->changeGeometry(0, contentHeight); // Compute outter sizes int outterWidth = contentWidth + style()->leftInnerMargin() + style()->rightInnerMargin(); int extraLeft = 0; if ( style()->isLeftProtrusionFixed() && style()->leftProtrusion() > 0) extraLeft = style()->leftProtrusion(); if ( left_ && left_->width() > extraLeft) extraLeft = left_->width(); outterWidth += extraLeft; if ( right_ ) outterWidth += right_->width(); int outterHeight = contentHeight + style()->topInnerMargin() + style()->bottomInnerMargin(); if ( top_ ) outterHeight += top_->height(); if ( bottom_ ) outterHeight += bottom_->height(); if (hasShape() && style()->shapeOnlyOnContent()) { // If the shape must cover only the content manually set the way it should look. // Set shape position int x = style()->leftMargin(); if (style()->isLeftProtrusionFixed()) { if (style()->leftProtrusion() > 0) x += style()->leftProtrusion(); } else x += left_ ? left_->width() / 2 : 0; int y = style()->topMargin() + (top_ ? top_->height() / 2 : 0); getShape()->setOffset(x, y); // Set shape size int middleHeight = outterHeight - y - (bottom_? (bottom_->height()/2) :0); getShape()->setOutterSize(maxMiddleWidth, middleHeight); // Set Layout size setWidth(outterWidth + style()->leftMargin() + style()->rightMargin()); setHeight(outterHeight + style()->topMargin() + style()->bottomMargin()); } else setInnerSize(outterWidth, outterHeight); // Use the default method when the shape must cover the entire layout. // Determine the right offset to use. int xOffset = style()->leftMargin(); int yOffset = style()->rightMargin(); if (hasShape() && !style()->shapeOnlyOnContent()) { xOffset = getShape()->contentLeft(); yOffset = getShape()->contentTop(); } // Set positions int xLeft = xOffset; int xTop = xLeft; int xContent; int xRight; if (style()->isLeftProtrusionFixed()) { if ( style()->leftProtrusion() < 0) xLeft -= style()->leftProtrusion(); else xTop += style()->leftProtrusion(); xContent = xLeft + (left_ ? left_->width() : 0) + style()->leftInnerMargin(); if (xContent < xOffset + style()->leftProtrusion() + style()->leftInnerMargin()) xContent = xOffset + style()->leftProtrusion() + style()->leftInnerMargin(); } else { xTop = xLeft + (left_ ? left_->width() / 2 : 0); xContent = xLeft + (left_ ? left_->width() : 0) + style()->leftInnerMargin(); } xRight = xContent + (content_ ? content_->width() : 0) + style()->rightInnerMargin(); int yTop = yOffset; int yContent = yTop + (top_ ? top_->height() : 0) + style()->topInnerMargin(); int yBottom = yContent + contentHeight + style()->bottomInnerMargin(); if ( top_ ) top_->setPos(xTop, yTop); if ( left_ ) left_->setPos(xLeft, yContent); if ( content_ ) content_->setPos(xContent, yContent); if ( right_ ) right_->setPos(xRight, yContent); if ( bottom_ ) bottom_->setPos(xTop, yBottom); }