//----------------------------------------------------------------------------// DynamicModule::DynamicModule(const String& name) : d_pimpl(CEGUI_NEW_AO Impl(name)) { if (name.empty()) return; if (!hasDynamicLibraryExtension(d_pimpl->d_moduleName)) addLibraryNameSuffixes(d_pimpl->d_moduleName); d_pimpl->d_handle = DynLibLoad(d_pimpl->d_moduleName); #if defined(__linux__) || defined(__APPLE__) || defined(__MINGW32__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__HAIKU__) // see if adding a leading 'lib' helps us to open the library if (!d_pimpl->d_handle && d_pimpl->d_moduleName.compare(0, 3, "lib") != 0) { d_pimpl->d_moduleName.insert(0, "lib"); d_pimpl->d_handle = DynLibLoad(d_pimpl->d_moduleName); } #endif #if defined(__CYGWIN__) // see if adding a leading 'cyg' helps us to open the library if (!d_pimpl->d_handle && d_pimpl->d_moduleName.compare(0, 3, "cyg") != 0) { d_pimpl->d_moduleName.insert(0, "cyg"); d_pimpl->d_handle = DynLibLoad(d_pimpl->d_moduleName); } #endif // check for library load failure if (!d_pimpl->d_handle) CEGUI_THROW(GenericException("Failed to load module '" + d_pimpl->d_moduleName + "': " + getFailureString())); }
void Fatal(const char *formatMessage, ...) { va_list args; va_start(args, formatMessage); Impl(formatMessage, args); va_end(args); }
Player Player::create( int bits, int size, int freq, int channelN ){ STRONG_ASSERT( bits == 8 || bits == 16 && "Player::Player() : bitsPerSample must be 8 or 16." ); STRONG_ASSERT( ( ( bits * freq * channelN / 8 / 16 ) < size ) && "Player::Player() : bufferSize is too small. at least 1/16s" ); Player r; r.mImpl = NEW Impl( bits, size, freq, channelN, gManagerImpl->directSound() ); return r; }
Str::Impl Str::Impl::Concat(const Impl& rhs) const { size_t newLen = len + rhs.len; char* newPtr = (char*)malloc(newLen + 1); memcpy(newPtr, ptr, len); // tries to write to nullptr for some reason memcpy(newPtr + len, rhs.ptr, rhs.len + 1); return Impl(newPtr, newLen); }
MusicSource MusicSource::create( const char* fileName ){ MusicSource r; r.mImpl = NEW Impl( fileName ); return r; }
void Framework::create(){ ASSERT( !gImpl ); gImpl = NEW Impl(); }
ErrorHandler::ErrorHandler() : pImpl(NEW Impl()) { //ctor }
bool Dir::make(const std::string& path, bool recursive){ return Impl().make(path, -1, recursive); }
OStringStream::OStringStream( int blockSize ) : mImpl( 0 ){ mImpl = NEW Impl( blockSize ); }
void WorkSpace::create(){ gImpl = NEW Impl(); }
Bitmap Bitmap::create( int w, int h, long s ){ Bitmap r; r.mImpl = NEW Impl( w, h, s, gSpriteImpl->backBuffer() ); return r; }
Bitmap Bitmap::create( const char* fileName ){ Bitmap r; r.mImpl = NEW Impl( fileName, gSpriteImpl->backBuffer(), gSpriteImpl->image() ); return r; }
bool dispatchEvent(Event<stringT>& event) { Impl()->dispatchEvent(event); } // dispatchEvent
void removeEventListener(const stringT type, EventListener<stringT>& listener, bool useCapture) { Impl()->removeEventListener(type, listener, useCapture); } // removeEventListener
bool operator==(int dummy) const { return Proxy::operator==(dummy); } bool operator!=(int dummy) const { return Proxy::operator!=(dummy); } EventTarget& operator=(const EventTarget& rhs) { Proxy::operator=(rhs); return *this; } // operator= /////////////////////////////////////////////////////////////// // EventTarget methods void addEventListener(const stringT type, EventListener<stringT>& listener, bool useCapture) { Impl()->addEventListener(type, listener, useCapture) } // addEventListener void removeEventListener(const stringT type, EventListener<stringT>& listener, bool useCapture) { Impl()->removeEventListener(type, listener, useCapture); } // removeEventListener bool dispatchEvent(Event<stringT>& event) { Impl()->dispatchEvent(event); } // dispatchEvent private:
void TThread::Start() { Impl(Impl_, "start", false)->Start(); }
bool Dir::remove(const std::string& path){ return Impl().remove(path); }
Event Event::create( bool f ){ Event r; r.mImpl = NEW Impl( f ); return r; }
Texture Texture::create( PseudoXml::ConstElement e, const char* path ){ Texture r; r.mImpl = NEW Impl( e, path, gManagerImpl->dxDevice() ); return r; }
MapCorridor::MapCorridor(Map& m) : MapFeature(m), pImpl(NEW Impl()) { //ctor }
DocumentEvent_implT* Impl() const { return dynamic_cast<DocumentEvent_implT*>(Impl()); }
Player Player::create( Wave wave ){ STRONG_ASSERT( wave.isReady() && "Player::Player() : loading hasn't finished." ); Player r; r.mImpl = NEW Impl( wave.mImpl, gManagerImpl->directSound() ); return r; }
/////////////////////////////////////////////////// // DocumentEvent methods Event<stringT, string_adaptorT> createEvent(const char* eventType) { return Event<stringT, string_adaptorT>(Impl()->createEvent(eventType)); } // createEvent
MRSFileLoader MRSFileLoader::create(){ MRSFileLoader r; r.mImpl = NEW Impl(); return r; }