MyGUI
3.2.0
|
00001 00006 /* 00007 This file is part of MyGUI. 00008 00009 MyGUI is free software: you can redistribute it and/or modify 00010 it under the terms of the GNU Lesser General Public License as published by 00011 the Free Software Foundation, either version 3 of the License, or 00012 (at your option) any later version. 00013 00014 MyGUI is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License 00020 along with MyGUI. If not, see <http://www.gnu.org/licenses/>. 00021 */ 00022 #include "MyGUI_Precompiled.h" 00023 #include "MyGUI_ResourceManualPointer.h" 00024 #include "MyGUI_ImageBox.h" 00025 #include "MyGUI_CoordConverter.h" 00026 #include "MyGUI_TextureUtility.h" 00027 00028 namespace MyGUI 00029 { 00030 00031 ResourceManualPointer::ResourceManualPointer() 00032 { 00033 } 00034 00035 ResourceManualPointer::~ResourceManualPointer() 00036 { 00037 } 00038 00039 void ResourceManualPointer::deserialization(xml::ElementPtr _node, Version _version) 00040 { 00041 Base::deserialization(_node, _version); 00042 00043 // берем детей и крутимся, основной цикл 00044 xml::ElementEnumerator info = _node->getElementEnumerator(); 00045 while (info.next("Property")) 00046 { 00047 const std::string& key = info->findAttribute("key"); 00048 const std::string& value = info->findAttribute("value"); 00049 00050 if (key == "Point") mPoint = IntPoint::parse(value); 00051 else if (key == "Size") mSize = IntSize::parse(value); 00052 else if (key == "Texture") mTexture = value; 00053 else if (key == "Coord") mTextureCoord = IntCoord::parse(value); 00054 } 00055 } 00056 00057 void ResourceManualPointer::setImage(ImageBox* _image) 00058 { 00059 _image->deleteAllItems(); 00060 _image->setImageInfo(mTexture, mTextureCoord, mTextureCoord.size()); 00061 } 00062 00063 void ResourceManualPointer::setPosition(ImageBox* _image, const IntPoint& _point) 00064 { 00065 _image->setCoord(_point.left - mPoint.left, _point.top - mPoint.top, mSize.width, mSize.height); 00066 } 00067 00068 } // namespace MyGUI