DX11RenderTexture2D::DX11RenderTexture2D(PixelFormat pixelFormat, bool bMultiSample, const std::vector<Image*>& image, unsigned int flag) { if (image.size() == 0) { BOOST_ASSERT(0); return; } const ImageSpec &spec = image[0]->GetSpec(); BYTE* pData = new BYTE[spec.dataSize*image.size()]; BYTE* pDest = pData; std::vector<BufferInitData> vBufferInitData; for (size_t i = 0; i < image.size(); i++) { BOOST_ASSERT(spec.dataSize == image[i]->GetSpec().dataSize); memcpy(pDest, image[i]->GetImageData(), spec.dataSize); BufferInitData data; data.Data = pDest; data.RowPitch = RenderEngine::ComputePixelSizeBits(pixelFormat) / 8 * spec.width; data.SlicePitch = 0; vBufferInitData.push_back(data); pDest += spec.dataSize; } InternalCreate(pixelFormat, spec.width, spec.height, false, bMultiSample, SV_ShaderResource, image.size(), vBufferInitData.data(), flag); delete pData; }
//called to create a string given a string and an existing texture string to create it from LTRESULT CTextureString::CreateSubstring(const wchar_t* pszString, const CTextureString& CreateFrom) { //free any existing string data FreeData(); //setup this object using the other object's bitmap font return InternalCreate(pszString, CreateFrom.m_TextureImage); }
DX11RenderTexture2D::DX11RenderTexture2D(PixelFormat pixelFormat, bool bMultiSample,Image* image) { const ImageSpec &spec = image->GetSpec(); BufferInitData data; data.Data = image->GetImageData(); data.RowPitch = RenderEngine::ComputePixelSizeBits(pixelFormat)/8 * spec.width; data.SlicePitch = 0; InternalCreate(pixelFormat, spec.width, spec.height, false, bMultiSample, SV_ShaderResource, 1, &data, 0); }
// Inherits XMLSpy generation source function. xmlNodePtr CNode::InternalReplaceAt(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName, int nIndex, const tstring& sValue) { if (eNodeType == Element) return xmlReplaceNode( InternalGetAt(eNodeType, sNamespaceURI, sName, nIndex), InternalCreate(eNodeType, sNamespaceURI, sName, sValue) ); else return InternalAppend(eNodeType, sNamespaceURI, sName, sValue); }
int RTPSession::Create(const RTPSessionParams &sessparams,const RTPTransmissionParams *transparams /* = 0 */, RTPTransmitter::TransmissionProtocol protocol) { int status; if (created) return ERR_RTP_SESSION_ALREADYCREATED; usingpollthread = sessparams.IsUsingPollThread(); useSR_BYEifpossible = sessparams.GetSenderReportForBYE(); sentpackets = false; // Check max packet size if ((maxpacksize = sessparams.GetMaximumPacketSize()) < RTP_MINPACKETSIZE) return ERR_RTP_SESSION_MAXPACKETSIZETOOSMALL; // Initialize the transmission component rtptrans = 0; switch(protocol) { case RTPTransmitter::IPv4UDPProto: rtptrans = RTPNew(GetMemoryManager(),RTPMEM_TYPE_CLASS_RTPTRANSMITTER) RTPUDPv4Transmitter(GetMemoryManager()); break; #ifdef RTP_SUPPORT_IPV6 case RTPTransmitter::IPv6UDPProto: rtptrans = RTPNew(GetMemoryManager(),RTPMEM_TYPE_CLASS_RTPTRANSMITTER) RTPUDPv6Transmitter(GetMemoryManager()); break; #endif // RTP_SUPPORT_IPV6 case RTPTransmitter::UserDefinedProto: rtptrans = NewUserDefinedTransmitter(); if (rtptrans == 0) return ERR_RTP_SESSION_USERDEFINEDTRANSMITTERNULL; break; default: return ERR_RTP_SESSION_UNSUPPORTEDTRANSMISSIONPROTOCOL; } if (rtptrans == 0) return ERR_RTP_OUTOFMEM; if ((status = rtptrans->Init(usingpollthread)) < 0) { RTPDelete(rtptrans,GetMemoryManager()); return status; } if ((status = rtptrans->Create(maxpacksize,transparams)) < 0) { RTPDelete(rtptrans,GetMemoryManager()); return status; } deletetransmitter = true; return InternalCreate(sessparams); }
//called to create a string given a string and an associated font LTRESULT CTextureString::Create(const wchar_t* pszString, const CFontInfo& Font) { //free any existing string data FreeData(); //we need to create a new bitmap font that contains the glyphs for that string and that font CTextureStringImage* pNewImage = CTextureStringImage::Allocate(); if(!pNewImage) return LT_OUTOFMEMORY; //add a reference to that object pNewImage->IncRef(); //now create the bitmap font for the string if(!pNewImage->CreateBitmapFont(pszString, Font)) { if(pNewImage) { pNewImage->DecRef(); pNewImage = NULL; } return LT_ERROR; } //setup this object using the other object's bitmap font LTRESULT result = InternalCreate(pszString, pNewImage); //free up our reference to this image (creation already added our ref count for us if(pNewImage) { pNewImage->DecRef(); pNewImage = NULL; } return result; }
int RTPSession::Create(const RTPSessionParams &sessparams,RTPTransmitter *transmitter) { int status; if (created) return ERR_RTP_SESSION_ALREADYCREATED; usingpollthread = sessparams.IsUsingPollThread(); useSR_BYEifpossible = sessparams.GetSenderReportForBYE(); sentpackets = false; // Check max packet size if ((maxpacksize = sessparams.GetMaximumPacketSize()) < RTP_MINPACKETSIZE) return ERR_RTP_SESSION_MAXPACKETSIZETOOSMALL; rtptrans = transmitter; if ((status = rtptrans->SetMaximumPacketSize(maxpacksize)) < 0) return status; deletetransmitter = false; return InternalCreate(sessparams); }
bool Create(unsigned signo, Args&&... args) { sigset_t mask; sigemptyset(&mask); return InternalCreate(mask, signo, args...); }
bool InternalCreate(sigset_t &mask, unsigned signo, Args&&... args) { sigaddset(&mask, signo); return InternalCreate(mask, args...); }
DX11RenderTexture2D::DX11RenderTexture2D(PixelFormat pixelFormat, unsigned int width, unsigned int height, bool bMipmap, bool bMultiSample, unsigned int viewFlag, int arraySize, BufferInitData const* pData, unsigned int flag) { InternalCreate(pixelFormat, width, height, bMipmap, bMultiSample, viewFlag, arraySize, pData, flag); }