source: OGRE/trunk/ogrenew/Tools/XSIExport/src/OgreXSIHelper.cpp @ 657

Revision 657, 2.9 KB checked in by mattausch, 19 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4(Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2005 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25#include "OgreXSIHelper.h"
26#include <fstream>
27
28namespace Ogre {
29
30        //-----------------------------------------------------------------------
31        void copyFile(const String& src, const String& dst)
32        {
33                std::ifstream in(src.c_str(), std::ios::in | std::ios::binary);
34                std::ofstream out(dst.c_str(), std::ios::out | std::ios::binary | std::ios::trunc);
35
36                if (!in || !out)
37                {
38                        LogOgreAndXSI("Unable to copy texture '" + src + "' to '" + dst + "'");
39                        return;
40                }
41
42                char tmpBuf[2048];
43
44                while (!in.eof())
45                {
46                        in.read(tmpBuf, 2048);
47
48                        std::streamsize c = in.gcount();
49
50                        out.write(tmpBuf, c);
51
52                }
53
54                in.close();
55                out.close();
56
57
58
59        }
60        //-----------------------------------------------------------------------
61        template<> ProgressManager* Singleton<ProgressManager>::ms_Singleton = 0;
62        ProgressManager* ProgressManager::getSingletonPtr(void)
63        {
64                return ms_Singleton;
65        }
66        ProgressManager& ProgressManager::getSingleton(void)
67        { 
68                assert( ms_Singleton );  return ( *ms_Singleton ); 
69        }
70        //-----------------------------------------------------------------------------
71        ProgressManager::ProgressManager(size_t numberOfStages)
72                :mNumberOfStages(numberOfStages), mProgress(0)
73        {
74                XSI::Application app;
75
76                mProgressBar = app.GetUIToolkit().GetProgressBar();
77                mProgressBar.PutMaximum(numberOfStages);
78                mProgressBar.PutStep(1);
79                mProgressBar.PutVisible(true);
80                mProgressBar.PutCaption(L"Exporting");
81        }
82        //-----------------------------------------------------------------------------
83        ProgressManager::~ProgressManager()
84        {
85        }
86        //-----------------------------------------------------------------------------
87        void ProgressManager::progress(void)
88        {
89                ++mProgress;
90                mProgressBar.Increment();
91               
92        }
93
94}
Note: See TracBrowser for help on using the repository browser.