本文整理汇总了C++中mygui::IntCoord类的典型用法代码示例。如果您正苦于以下问题:C++ IntCoord类的具体用法?C++ IntCoord怎么用?C++ IntCoord使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IntCoord类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: getCellDimension
void WeaponCellView::getCellDimension(MyGUI::Widget* _sender, MyGUI::IntCoord& _coord, bool _drop)
{
if (_drop)
_coord.set(0, 0,230, 50);
else
_coord.set(0, 0,230, 50);
}
开发者ID:parhelia512,项目名称:fdux-slg-game,代码行数:7,代码来源:WeaponCellView.cpp
示例2: getCellDimension
void CellView::getCellDimension(MyGUI::Widget* _sender, MyGUI::IntCoord& _coord, bool _drop)
{
if (_drop)
_coord.set(0, 0, 90, 74);
else
_coord.set(0, 0, 90, 74);
}
开发者ID:LiberatorUSA,项目名称:GUCEF,代码行数:7,代码来源:CellView.cpp
示例3: setWindowCoord
void Application::setWindowCoord(const MyGUI::IntCoord& _value)
{
#if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32
if (_value.empty())
return;
MyGUI::IntCoord coord = _value;
if (coord.left < 0)
coord.left = 0;
if (coord.top < 0)
coord.top = 0;
if (coord.width < 640)
coord.width = 640;
if (coord.height < 480)
coord.height = 480;
if (coord.width > GetSystemMetrics(SM_CXSCREEN))
coord.width = GetSystemMetrics(SM_CXSCREEN);
if (coord.height > GetSystemMetrics(SM_CYSCREEN))
coord.height = GetSystemMetrics(SM_CYSCREEN);
if (coord.right() > GetSystemMetrics(SM_CXSCREEN))
coord.left = GetSystemMetrics(SM_CXSCREEN) - coord.width;
if (coord.bottom() > GetSystemMetrics(SM_CYSCREEN))
coord.top = GetSystemMetrics(SM_CYSCREEN) - coord.height;
size_t handle = getWindowHandle();
::MoveWindow((HWND)handle, coord.left, coord.top, coord.width, coord.height, true);
#endif
}
开发者ID:dayongxie,项目名称:MyGUI,代码行数:28,代码来源:Application.cpp
示例4: updateCoords
void IndexTextureController::updateCoords(const std::string& _value)
{
MyGUI::IntCoord coord;
if (MyGUI::utility::parseComplex(_value, coord.left, coord.top, coord.width, coord.height))
mSize = coord.size();
else
mSize.clear();
updateFrames();
}
开发者ID:2asoft,项目名称:MMO-Framework,代码行数:10,代码来源:IndexTextureController.cpp
示例5: writeState
pugi::xml_node SkinExportSerializer::writeState(pugi::xml_node _parent, DataPtr _data, const MyGUI::IntCoord& _value)
{
MyGUI::IntPoint point = MyGUI::IntPoint::parse(_data->getPropertyValue("Point"));
MyGUI::IntCoord coord = _value + point;
pugi::xml_node node = _parent.append_child("State");
node.append_attribute("name").set_value(convertEditorToExportStateName(_data->getPropertyValue("Name")).c_str());
node.append_attribute("offset").set_value(coord.print().c_str());
return node;
}
开发者ID:xzwang2005,项目名称:mygui,代码行数:11,代码来源:SkinExportSerializer.cpp
示例6: notifyChangePosition
void RegionTextureControl::notifyChangePosition()
{
mCoordValue = mAreaSelectorControl->getCoord();
// снапим к гриду
if (!MyGUI::InputManager::getInstance().isShiftPressed())
{
MyGUI::IntCoord coord = mCoordValue;
MyGUI::IntCoord actionScale = mAreaSelectorControl->getActionScale();
if (actionScale.left != 0 && actionScale.width != 0)
{
int right = coord.right();
coord.left = Grid::getInstance().toGrid(coord.left);
coord.width = right - coord.left;
}
else if (actionScale.width != 0)
{
int right = Grid::getInstance().toGrid(coord.right());
coord.width = right - coord.left;
}
else if (actionScale.left != 0)
{
coord.left = Grid::getInstance().toGrid(coord.left);
}
if (actionScale.top != 0 && actionScale.height != 0)
{
int bottom = coord.bottom();
coord.top = Grid::getInstance().toGrid(coord.top);
coord.height = bottom - coord.top;
}
else if (actionScale.height != 0)
{
int bottom = Grid::getInstance().toGrid(coord.bottom());
coord.height = bottom - coord.top;
}
else if (actionScale.top != 0)
{
coord.top = Grid::getInstance().toGrid(coord.top);
}
if (coord != mCoordValue)
{
mCoordValue = coord;
mAreaSelectorControl->setCoord(mCoordValue);
}
}
if (getCurrentRegion() != nullptr)
getCurrentRegion()->getPropertySet()->setPropertyValue("Position", mCoordValue.print(), mTypeName);
}
开发者ID:digiant,项目名称:myway3d,代码行数:52,代码来源:RegionTextureControl.cpp
示例7: loadMouseRelative
void TextureControl::loadMouseRelative()
{
MyGUI::IntPoint viewOffset = mView->getViewOffset();
MyGUI::IntCoord viewCoord = mView->getViewCoord();
MyGUI::IntSize canvasSize = mView->getCanvasSize();
MyGUI::IntPoint mousePoint = MyGUI::InputManager::getInstance().getMousePositionByLayer();
// смещение мыши относительно вью
MyGUI::IntPoint mouseOffset = mousePoint - mView->getAbsolutePosition() - viewCoord.point();
// смещение нужной точки внутри текстуры в пикселях
MyGUI::IntPoint canvasPointOffset((int)(mMouseRelative.left * (float)canvasSize.width), (int)(mMouseRelative.top * (float)canvasSize.height));
// смещение вью в пикселях
MyGUI::IntPoint canvasOffset = canvasPointOffset - mouseOffset;
mView->setViewOffset(MyGUI::IntPoint(-canvasOffset.left, -canvasOffset.top));
}
开发者ID:blunted2night,项目名称:MyGUI,代码行数:16,代码来源:TextureControl.cpp
示例8: updateCoord
void StateTextureControl::updateCoord()
{
MyGUI::UString value;
if (getCurrentSkin() != nullptr)
value = getCurrentSkin()->getPropertySet()->getPropertyValue("Coord");
MyGUI::IntCoord coord;
if (MyGUI::utility::parseComplex(value, coord.left, coord.top, coord.width, coord.height))
{
if (mSizeValue != coord.size())
{
mSizeValue = coord.size();
updateSelectorsSize();
}
}
}
开发者ID:alexis-,项目名称:iwe,代码行数:17,代码来源:StateTextureControl.cpp
示例9: setWindowCoord
void BaseManager::setWindowCoord(const MyGUI::IntCoord& _value)
{
if (_value.empty())
return;
MyGUI::IntCoord coord = _value;
SDL_SetWindowPosition(mWindow, coord.left, coord.top);
}
开发者ID:atchouprakov,项目名称:mygui,代码行数:9,代码来源:BaseManager.cpp
示例10: createSkin
void TestWindow::createSkin()
{
if (mSkinItem == nullptr)
return;
MyGUI::IntSize canvasSize = mBackgroundControl->getCanvas()->getSize();
generateSkin();
mSkinButton = mBackgroundControl->getCanvas()->createWidget<MyGUI::Button>(mSkinName, MyGUI::IntCoord(0, 0, canvasSize.width, canvasSize.height), MyGUI::Align::Stretch);
mSkinButton->setFontName(mDefaultFontName);
mSkinButton->setTextAlign(MyGUI::Align::Center);
mSkinButton->setCaption("Caption");
mSkinButton->eventMouseButtonPressed += MyGUI::newDelegate(this, &TestWindow::notifyMouseButtonPressed);
MyGUI::IntCoord coord = mSkinItem->getPropertyValue<MyGUI::IntCoord>("Size");
MyGUI::IntSize windowSize = coord.size() + mMainWidget->getSize() - canvasSize;
MyGUI::IntSize parentSize = mMainWidget->getParentSize();
mMainWidget->setCoord((parentSize.width - windowSize.width) / 2, (parentSize.height - windowSize.height) / 2, windowSize.width, windowSize.height);
}
开发者ID:chhawk,项目名称:MyGUI,代码行数:21,代码来源:TestWindow.cpp
示例11: notifyDrawItem
void ListBox::notifyDrawItem(MyGUI::ListCtrl* _sender, MyGUI::Widget* _item, const MyGUI::IBDrawItemInfo& _info, MyGUI::IntCoord& _coord)
{
MyGUI::Button* text = *_item->getUserData<MyGUI::Button*>();
if (_info.update)
{
text->setCaption(mItemsInfo[_info.index]);
MyGUI::IntSize size = text->getTextSize() + (text->getSize() - text->getTextRegion().size());
size.height = mHeightLine;
_coord.set(0, 0, size.width, size.height);
}
text->setButtonPressed(_info.select);
text->_setMouseFocus(_info.active);
}
开发者ID:OndraK,项目名称:openmw,代码行数:16,代码来源:MyGUI_ListBox.cpp
示例12: moveSeparator
void SeparatePanel::moveSeparator(const MyGUI::IntPoint& _mousePosition)
{
MyGUI::IntPoint offset = _mousePosition - mMousePressedOffset - mMainWidget->getAbsolutePosition();
// сбрасываем дефолтный размер панели
mDefaultPanelSize.clear();
MyGUI::IntCoord firstPanel = mFirstPanel->getCoord();
MyGUI::IntCoord separatorH = mSeparatorH->getCoord();
MyGUI::IntCoord separatorV = mSeparatorV->getCoord();
MyGUI::IntCoord secondPanel = mSecondPanel->getCoord();
if (mPanelAlign.isLeft())
{
firstPanel.width = offset.left - firstPanel.left;
separatorH.left = offset.left;
secondPanel.width = secondPanel.right() - (offset.left + separatorH.width);
secondPanel.left = offset.left + separatorH.width;
}
else if (mPanelAlign.isRight())
{
secondPanel.width = offset.left - secondPanel.left;
separatorH.left = offset.left;
firstPanel.width = firstPanel.right() - (offset.left + separatorH.width);
firstPanel.left = offset.left + separatorH.width;
}
else if (mPanelAlign.isTop())
{
firstPanel.height = offset.top - firstPanel.top;
separatorV.top = offset.top;
secondPanel.height = secondPanel.bottom() - (offset.top + separatorV.height);
secondPanel.top = offset.top + separatorV.height;
}
else if (mPanelAlign.isBottom())
{
secondPanel.height = offset.top - secondPanel.top;
separatorV.top = offset.top;
firstPanel.height = firstPanel.bottom() - (offset.top + separatorV.height);
firstPanel.top = offset.top + separatorV.height;
}
invalidateSize(firstPanel, separatorH, separatorV, secondPanel);
// запоминаем дефолтный размер панели
mDefaultPanelSize = mFirstPanel->getSize();
}
开发者ID:2asoft,项目名称:MMO-Framework,代码行数:46,代码来源:SeparatePanel.cpp
示例13: notifyChangePosition
void WorkspaceControl::notifyChangePosition()
{
if (!mMoveableWidget)
return;
mCoordValue = mAreaSelectorControl->getCoord();
// конвертируем в локальные координаты
if (mCurrentWidget != nullptr)
{
MyGUI::Widget* parent = mCurrentWidget->getParent();
if (parent != nullptr && !mCurrentWidget->isRootWidget())
mCoordValue = mCoordValue - parent->getAbsolutePosition();
}
// снапим к гриду
if (!MyGUI::InputManager::getInstance().isShiftPressed())
{
MyGUI::IntCoord coord = mCoordValue;
MyGUI::IntCoord actionScale = mAreaSelectorControl->getActionScale();
if (actionScale.left != 0 && actionScale.width != 0)
{
int right = coord.right();
coord.width = toGrid(coord.width + (mGridStep / 2));
coord.left = right - coord.width;
}
else if (actionScale.width != 0)
{
int right = toGrid(coord.right() + (mGridStep / 2));
coord.width = right - coord.left;
}
else if (actionScale.left != 0)
{
coord.left = toGrid(coord.left + (mGridStep / 2));
}
if (actionScale.top != 0 && actionScale.height != 0)
{
int bottom = coord.bottom();
coord.height = toGrid(coord.height + (mGridStep / 2));
coord.top = bottom - coord.height;
}
else if (actionScale.height != 0)
{
int bottom = toGrid(coord.bottom() + (mGridStep / 2));
coord.height = bottom - coord.top;
}
else if (actionScale.top != 0)
{
coord.top = toGrid(coord.top + (mGridStep / 2));
}
if (coord != mCoordValue)
{
mCoordValue = coord;
updateSelectionFromValue();
}
}
if (mCurrentWidget != nullptr)
setWidgetCoord(mCurrentWidget, mCoordValue);
UndoManager::getInstance().addValue(PR_POSITION);
}
开发者ID:LiberatorUSA,项目名称:GUCEF,代码行数:65,代码来源:WorkspaceControl.cpp
示例14: getCellDimension
void ColourWindowCellView::getCellDimension(MyGUI::Widget* _sender, MyGUI::IntCoord& _coord, bool _drop)
{
_coord.set(0, 0, _sender->getClientCoord().width, 20);
}
开发者ID:ak4hige,项目名称:myway3d,代码行数:4,代码来源:ColourWindowCellView.cpp
示例15: invalidateSize
void SeparatePanel::invalidateSize(const MyGUI::IntCoord& _firstPanel, const MyGUI::IntCoord& _separatorH, const MyGUI::IntCoord& _separatorV, const MyGUI::IntCoord& _secondPanel)
{
if (mMainWidget->getWidth() <= 0 ||
mMainWidget->getHeight() <= 0)
return;
MyGUI::IntCoord firstPanel = _firstPanel;
MyGUI::IntCoord separatorH = _separatorH;
MyGUI::IntCoord separatorV = _separatorV;
MyGUI::IntCoord secondPanel = _secondPanel;
if (mPanelAlign.isLeft())
{
updateSize(firstPanel.width, secondPanel.width, separatorH.width, mMainWidget->getWidth(), mDefaultPanelSize.width);
firstPanel.top = separatorH.top = secondPanel.top = 0;
firstPanel.height = separatorH.height = secondPanel.height = mMainWidget->getHeight();
firstPanel.left = 0;
separatorH.left = firstPanel.right();
secondPanel.left = separatorH.right();
}
else if (mPanelAlign.isRight())
{
updateSize(firstPanel.width, secondPanel.width, separatorH.width, mMainWidget->getWidth(), mDefaultPanelSize.width);
firstPanel.top = separatorH.top = secondPanel.top = 0;
firstPanel.height = separatorH.height = secondPanel.height = mMainWidget->getHeight();
secondPanel.left = 0;
separatorH.left = secondPanel.right();
firstPanel.left = separatorH.right();
}
else if (mPanelAlign.isTop())
{
updateSize(firstPanel.height, secondPanel.height, separatorV.height, mMainWidget->getHeight(), mDefaultPanelSize.height);
firstPanel.left = separatorV.left = secondPanel.left = 0;
firstPanel.width = separatorV.width = secondPanel.width = mMainWidget->getWidth();
firstPanel.top = 0;
separatorV.top = firstPanel.bottom();
secondPanel.top = separatorV.bottom();
}
else if (mPanelAlign.isBottom())
{
updateSize(firstPanel.height, secondPanel.height, separatorV.height, mMainWidget->getHeight(), mDefaultPanelSize.height);
firstPanel.left = separatorV.left = secondPanel.left = 0;
firstPanel.width = separatorV.width = secondPanel.width = mMainWidget->getWidth();
secondPanel.top = 0;
separatorV.top = secondPanel.bottom();
firstPanel.top = separatorV.bottom();
}
if (firstPanel != mFirstPanel->getCoord())
mFirstPanel->setCoord(firstPanel);
if (separatorH != mSeparatorH->getCoord())
mSeparatorH->setCoord(separatorH);
if (separatorV != mSeparatorV->getCoord())
mSeparatorV->setCoord(separatorV);
if (secondPanel != mSecondPanel->getCoord())
mSecondPanel->setCoord(secondPanel);
}
开发者ID:2asoft,项目名称:MMO-Framework,代码行数:60,代码来源:SeparatePanel.cpp
示例16: requestCoordItem
void requestCoordItem(MyGUI::ItemBox* _sender, MyGUI::IntCoord& _coord, bool _drag)
{
_coord.set(0, 0, 100, 100);
}
开发者ID:chhawk,项目名称:MyGUI,代码行数:4,代码来源:DemoKeeper.cpp
示例17: requestCoordItem
void ToolControl::requestCoordItem(MyGUI::ItemBox* _sender, MyGUI::IntCoord& _coord, bool _drag)
{
_coord.set(0, 0, 120, 25);
}
开发者ID:ak4hige,项目名称:myway3d,代码行数:4,代码来源:MainWorkSpace.cpp
示例18: getCellDimension
void TextureBrowseCell::getCellDimension(MyGUI::Widget* _sender, MyGUI::IntCoord& _coord, bool _drop)
{
_coord.set(0, 0, 180, 180);
}
开发者ID:LiberatorUSA,项目名称:GUCEF,代码行数:4,代码来源:TextureBrowseCell.cpp
示例19: writeRegion
void SkinExportSerializer::writeRegion(pugi::xml_node _parent, DataPtr _parentData, DataPtr _data, bool _text)
{
bool isVisible = MyGUI::utility::parseValue<bool>(_data->getPropertyValue("Visible")) &&
MyGUI::utility::parseValue<bool>(_data->getPropertyValue("Enable"));
if (!isVisible)
return;
MyGUI::IntCoord coord = MyGUI::IntCoord::parse(_data->getPropertyValue("Coord"));
std::string type = _data->getPropertyValue("Type");
bool tileVert = true;
bool tileHorz = true;
if (type == "TileRect Vert")
{
type = "TileRect";
tileHorz = false;
}
else if (type == "TileRect Horz")
{
type = "TileRect";
tileVert = false;
}
pugi::xml_node node = _parent.append_child("BasisSkin");
node.append_attribute("type").set_value(type.c_str());
node.append_attribute("offset").set_value(coord.print().c_str());
node.append_attribute("align").set_value(convertEditorToExportAlign(_data->getPropertyValue("Name")).c_str());
for (Data::VectorData::const_iterator child = _parentData->getChilds().begin(); child != _parentData->getChilds().end(); child ++)
{
if ((*child)->getType()->getName() != "State")
continue;
bool visible = MyGUI::utility::parseValue<bool>((*child)->getPropertyValue("Visible"));
if (!visible)
continue;
if (_text)
{
writeStateText(node, (*child), coord);
}
else
{
pugi::xml_node stateNode = writeState(node, (*child), coord);
if (type == "TileRect")
{
pugi::xml_node propertyNode = stateNode.append_child("Property");
propertyNode.append_attribute("key").set_value("TileSize");
propertyNode.append_attribute("value").set_value(coord.size().print().c_str());
propertyNode = stateNode.append_child("Property");
propertyNode.append_attribute("key").set_value("TileH");
propertyNode.append_attribute("value").set_value(MyGUI::utility::toString(tileHorz).c_str());
propertyNode = stateNode.append_child("Property");
propertyNode.append_attribute("key").set_value("TileV");
propertyNode.append_attribute("value").set_value(MyGUI::utility::toString(tileVert).c_str());
}
}
}
}
开发者ID:xzwang2005,项目名称:mygui,代码行数:63,代码来源:SkinExportSerializer.cpp
示例20: animate
size_t WobbleNodeAnimator::animate(
bool _update,
size_t _quad_count,
MyGUI::VectorQuadData& _data,
float _time,
MyGUI::IVertexBuffer* _buffer,
MyGUI::ITexture* _texture,
const MyGUI::RenderTargetInfo& _info,
const MyGUI::IntCoord& _coord,
bool& _isAnimate
)
{
if (mDestroy)
{
return _quad_count;
}
// проверяем смещения виджета
if (mOldCoord.empty())
{
mOldCoord = _coord;
}
else if (mOldCoord.size() != _coord.size() && mOldCoord.point() != _coord.point())
{
mInertiaPoint.set(0.5, 0.5);
mInertiaMode = false;
addInertia(MyGUI::FloatPoint(_coord.left-mOldCoord.left, _coord.top-mOldCoord.top));
}
else if (mOldCoord.size() != _coord.size())
{
mInertiaMode = true;
addInertia(MyGUI::FloatPoint(_coord.width - mOldCoord.width, _coord.height-mOldCoord.height));
}
else if (mOldCoord.point() != _coord.point())
{
const MyGUI::IntPoint& point = MyGUI::InputManager::getInstance().getMousePosition();
mInertiaPoint = MyGUI::FloatPoint((float)(point.left - _coord.left) / (float)_coord.width , (float)(point.top - _coord.top) / (float)_coord.height);
mInertiaMode = false;
addInertia(MyGUI::FloatPoint(_coord.left-mOldCoord.left, _coord.top-mOldCoord.top));
}
mOldCoord = _coord;
addTime(_time);
bool anim_update = squaredLength(mDragOffset) >= 0.3f;
if (!anim_update)
{
return _quad_count;
}
_isAnimate = true;
_quad_count = tesselation(
_quad_count,
_data,
_texture,
_info,
_coord);
buildQuadVertex(_data);
return _quad_count;
}
开发者ID:sskoruppa,项目名称:Glove_Code,代码行数:68,代码来源:WobbleNodeAnimator.cpp
注:本文中的mygui::IntCoord类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论