Ejemplo n.º 1
0
EXPORT_C TAny* RDbRow::SetColumnWidthL(TDbColNo aColNo,TInt aWidth)
// set the width for column aCol to Width
// add extra NULL columns to buffer as required
// return pointer to data for that column
	{
	__ASSERT(aColNo>0);
	TDbCell* pC=Column(--aColNo);
	if (pC==0)
		{		// add extra NULL columns to buffer
		if (aWidth==0)
			return 0;	// setting to NULL, don't bother padding
		TInt cFill=(aColNo-iColumn)*sizeof(TInt);
		ExtendL(cFill+TDbCell::Size(aWidth));
		pC=iCell;
		Mem::FillZ(pC,cFill);
		pC=PtrAdd(pC,cFill);		// set cache
		SetCache(pC,aColNo);
		}
	else
		{
		TInt adjust=TDbCell::Size(aWidth)-pC->Size();	// how much to add
		if (adjust!=0)
			{
			ExtendL(adjust);
			pC=iCell;		// may have moved in extension
			TDbCell* pNext=pC->Next();
			TDbCell* pAdjust=PtrAdd(pNext,adjust);
			Mem::Move(pAdjust,pNext,Diff(pAdjust,iLast));
			}
		}
	pC->SetLength(aWidth);
	return pC->Data();
	}
Ejemplo n.º 2
0
	void SDLScreen::CacheImage(Image* img) {
		
		img->Update();
		Point a, b;
		Size s = img->GetImageSize();
		unsigned int texid = img->GetTextureId();
		if(img->GetAffectedRegion(a,b)) {
			// img->FreeCache();
			// std::cout << "cache img\n";
			if(texid == NO_TEXTURE) {
				glGenTextures(1, &texid);
				// tex->SetTextureId(texid);
				glActiveTexture(GL_TEXTURE0);
				glBindTexture( GL_TEXTURE_2D, texid );
				// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
				// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
				glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, s.w, s.h, 0, GL_BGRA, GL_UNSIGNED_BYTE, img->GetImage() );
				// std::cout << "caching img size " << s.w << ", " << s.h << "\n";
			} else {
				glActiveTexture(GL_TEXTURE0);
				glBindTexture(GL_TEXTURE_2D, texid);
				
				// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
				// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
				// glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, s.w, s.h, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex.GetTexture() );
				// std::cout << "caching img2 size " << s.w << ", " << s.h << "\n";
				glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, s.w, s.h, GL_BGRA, GL_UNSIGNED_BYTE, img->GetImage() );
			}
			SetCache(img, texid);
			img->ResetAffectedRegion();
		}
	}
Ejemplo n.º 3
0
TDbCell* RDbRow::Column(TInt aColIx) const
//
// aCol is now zero-based
// Return a pointer to column aCol in the buffer
// Return 0 if the column is past the end
//
	{
	TInt ix=Column();
	TDbCell* pC;
	if (aColIx<ix)
		{
		ix=0;
		pC=iFirst;
		}
	else
		pC=iCell;
	TDbCell* last=iLast;
	for (;;)
		{
		if (pC>=last)
			break;
		if (ix>=aColIx)
			break;
		pC=pC->Next();
		++ix;
		}
	CONST_CAST(RDbRow*,this)->SetCache(pC,ix);
	return pC<last?pC:0;
	}
Ejemplo n.º 4
0
EXPORT_C void RDbRow::SetSize(TInt aSize)
//
// Set the current buffer size: assert that it is valid
//
	{
	__ASSERT(PtrAdd(iFirst,aSize)<=iEnd);
	iLast=PtrAdd(iFirst,aSize);
	SetCache(iFirst,0);
	}
Ejemplo n.º 5
0
char *UpdateLocalDMSUdn()
{
	char *udn = DupCache(CACHE_LOCALDMSUDN);
	ZInfo4(DBG_MISC, "Current Local DMS udn: %s", udn);
	if (udn[0] == '\0' || !strcmp(udn, "uuid")) {
		free(udn); udn = NULL;
		udn = GetLocalDeviceUdn(dmsDevice);
		ZInfo4(DBG_MISC, "Updating local DMS udn to: %s", udn);
		SetCache(CACHE_LOCALDMSUDN, udn);
	}

	return udn;
}
Ejemplo n.º 6
0
void EditPolyData::Initialize (PolyObject *pObj, TimeValue t) {
	MNMesh & mesh = pObj->GetMesh();
	mesh.getVertexSel (mVertSel);
	mesh.getFaceSel (mFaceSel);
	mesh.getEdgeSel (mEdgeSel);
	mesh.getVerticesByFlag (mVertHide, MN_HIDDEN);
	mesh.getFacesByFlag (mFaceHide, MN_HIDDEN);

	mesh.ClearSpecifiedNormals ();

	// Initialize the STACK_SELECT flags.
	mesh.ClearVFlags (MN_EDITPOLY_STACK_SELECT);
	mesh.ClearEFlags (MN_EDITPOLY_STACK_SELECT);
	mesh.ClearFFlags (MN_EDITPOLY_STACK_SELECT);
	mesh.PropegateComponentFlags (MNM_SL_VERTEX, MN_EDITPOLY_STACK_SELECT, MNM_SL_VERTEX, MN_SEL);
	mesh.PropegateComponentFlags (MNM_SL_EDGE, MN_EDITPOLY_STACK_SELECT, MNM_SL_EDGE, MN_SEL);
	mesh.PropegateComponentFlags (MNM_SL_FACE, MN_EDITPOLY_STACK_SELECT, MNM_SL_FACE, MN_SEL);

	SetCache (pObj, t);
}
Ejemplo n.º 7
0
void SetDMRState(IXML_Document *stateDoc)
{
	char *dmrState = NULL;
	int idmrState = DMR_STATE_STOPPED;
	char *dmrPlayType = NULL;
	int idmrPlayType = DMR_PLAYTYPE_IDLE;
	char *objID = NULL;
	char *udn = NULL;

	dmrState = ixmlGetFirstDocumentItem(stateDoc, "state");
	if(dmrState == NULL) {
		ZError(DBG_MISC, "Missing DMR state!");
		goto errOut;
	} else if(strcmp(dmrState, "STOPPED") == 0) {
		idmrState = DMR_STATE_STOPPED;
	} else if(strcmp(dmrState, "NO_MEDIA") == 0) {
		idmrState = DMR_STATE_NO_MEDIA;
	} else if(strcmp(dmrState, "PLAYING") == 0) {
		idmrState = DMR_STATE_PLAYING;
	} else if(strcmp(dmrState, "PAUSED_PLAYBACK") == 0) {
		idmrState = DMR_STATE_PAUSED;
	} else {
		ZError(DBG_MISC, "Unknown DMR state! state->%s", dmrState);
		goto errOut;
	}

	if(idmrState == DMR_STATE_PLAYING || idmrState == DMR_STATE_PAUSED) {
		dmrPlayType = ixmlGetFirstDocumentItem(stateDoc, "PlayType");
		if (dmrPlayType == NULL) {
			ZError(DBG_MISC, "Missing PlayType");
			goto errOut;
		} else if(strcmp(dmrPlayType, "IDLE") == 0) {
			idmrPlayType = DMR_PLAYTYPE_IDLE;
		} else if(strcmp(dmrPlayType, "CD") == 0) {
			idmrPlayType = DMR_PLAYTYPE_CD;
		} else if(strcmp(dmrPlayType, "INTERNET_RADIO") == 0) {
			idmrPlayType = DMR_PLAYTYPE_INTERNET_RADIO;
		} else if(strcmp(dmrPlayType, "STREAM") == 0) {
			idmrPlayType = DMR_PLAYTYPE_STREAM;
		} else if(strcmp(dmrPlayType, "MUSIC_ITEM") == 0) {
			idmrPlayType = DMR_PLAYTYPE_MUSIC_ITEM;
		} else if(strcmp(dmrPlayType, "PLAY_QUEUE") == 0) {
			idmrPlayType = DMR_PLAYTYPE_PLAY_QUEUE;
		} else if(strcmp(dmrPlayType, "UNDEFINE") == 0) {
			idmrPlayType = DMR_PLAYTYPE_UNDEFINE;
		} else {
			ZError(DBG_MISC, "Unknown DMR PlayType! PlayType->%s", dmrPlayType);
			goto errOut;
		}

		if(idmrPlayType == DMR_PLAYTYPE_MUSIC_ITEM || idmrPlayType == DMR_PLAYTYPE_PLAY_QUEUE) {
			IXML_Node *objectNode = NULL;
			objectNode = ixmlGetFirstNodeByTagName(stateDoc, "object");
			if(objectNode == NULL) {
				ZInfo4(DBG_MISC, "No playing object!");
				goto errOut;
			}
			objID = ixmlElement_getAttribute((IXML_Element *)objectNode, "id");
			udn = ixmlElement_getAttribute((IXML_Element *)objectNode, "udn");
			if(objID == NULL || udn == NULL) {
				ZInfo4(DBG_MISC, "Wrong playing object udn![%s][%s]", objID, udn);
				goto errOut;
			}
		}
	}
	ZInfo4(DBG_MISC, "state: %s, playtype: %s, objid: %s, udn: %s", dmrState, dmrPlayType, objID, udn);

	switch (idmrState) {
		case DMR_STATE_STOPPED:
		case DMR_STATE_NO_MEDIA:
			SetWorkStatus(WPlayLocalDMS, WORK_STOPPED );
			SetWorkStatus(WPlayExtDMS, WORK_STOPPED );
			SetWorkStatus(WPlayIR, WORK_STOPPED );
			SetWorkStatus(WPlayCD, WORK_STOPPED );
			break;
		case DMR_STATE_PLAYING:
		case DMR_STATE_PAUSED:
			SetWorkStatus(WPlayLocalDMS, WORK_STOPPED );
			SetWorkStatus(WPlayExtDMS, WORK_STOPPED );
			SetWorkStatus(WPlayIR, WORK_STOPPED );
			SetWorkStatus(WPlayCD, WORK_STOPPED );
			SetSysState(DMRState, idmrState);
			SetSysState(DMRPlayType, idmrPlayType);
			switch (idmrPlayType) {
				case DMR_PLAYTYPE_MUSIC_ITEM:
				case DMR_PLAYTYPE_PLAY_QUEUE:
					SetCache(CACHE_PLAYINGOBJECT, objID);
					SetCache(CACHE_PLAYINGUDN, udn);
					char *localudn = UpdateLocalDMSUdn();
					if (strstr(udn, localudn) != NULL) {
						SetWorkStatus(WPlayLocalDMS, WORK_RUNNING);
					} else {
						SetWorkStatus(WPlayExtDMS, WORK_RUNNING);
					}
					break;
				case DMR_PLAYTYPE_CD:
					SetWorkStatus(WPlayCD, WORK_RUNNING);
					SetCache(CACHE_PLAYINGOBJECT, NULL);
					SetCache(CACHE_PLAYINGUDN, NULL);
					break;
				case DMR_PLAYTYPE_INTERNET_RADIO:
					SetWorkStatus(WPlayIR, WORK_RUNNING);
					SetCache(CACHE_PLAYINGOBJECT, objID);
					SetCache(CACHE_PLAYINGUDN, udn);
					break;
				default:
					SetCache(CACHE_PLAYINGOBJECT, NULL);
					SetCache(CACHE_PLAYINGUDN, NULL);
			}
	}

errOut:
	free(dmrState);
	free(dmrPlayType);
	return;
}
Ejemplo n.º 8
0
void
Property::setCache(const as_value& value)
{
    boost::apply_visitor(boost::bind(SetCache(), _1, value), _bound);
}
Ejemplo n.º 9
0
// *****************************************************************
VertexPaintData::VertexPaintData(Mesh& m) : mesh(NULL), colordata(NULL), nverts(NULL), 
nvcverts(NULL), numColors(0), numnverts(0), numnvcverts(0)
{
	SetCache(m);
}
Ejemplo n.º 10
0
//------------------------------------------------------------------------------
CWidgetPropertyCache::CWidgetPropertyCache( CGUIWidget* pWidget )
{
	SetCache( pWidget );
}