Exemplo n.º 1
0
	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;
	}
Exemplo n.º 2
0
//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);
}
Exemplo n.º 3
0
	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);
	}
Exemplo n.º 4
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);
}
Exemplo n.º 5
0
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);
}
Exemplo n.º 6
0
//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;
}
Exemplo n.º 7
0
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);
}
Exemplo n.º 8
0
 bool Create(unsigned signo, Args&&... args) {
   sigset_t mask;
   sigemptyset(&mask);
   return InternalCreate(mask, signo, args...);
 }
Exemplo n.º 9
0
 bool InternalCreate(sigset_t &mask, unsigned signo,
                     Args&&... args) {
   sigaddset(&mask, signo);
   return InternalCreate(mask, args...);
 }
Exemplo n.º 10
0
	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);
	}