Exemplo n.º 1
0
void Graphics::clear(bool inForceFreeHardware)
{
   mFillJob.clear();
   mLineJob.clear();
   mTileJob.clear();

   // clear jobs
   for(int i=0;i<mJobs.size();i++)
      mJobs[i].clear();
   mJobs.resize(0);

   if (mHardwareData)
   {
      if (inForceFreeHardware || mClearCount<4)
      {
         delete mHardwareData;
         mHardwareData = 0;
      }
      else
         mHardwareData->clear();
      if (!inForceFreeHardware)
         mClearCount++;
   }

   mPathData->clear();

   mExtent0 = Extent2DF();
   mRotation0 = 0;
   mBuiltHardware = 0;
   mMeasuredJobs = 0;
   mCursor = UserPoint(0,0);
   OnChanged();
}
Exemplo n.º 2
0
void Graphics::clear()
{
   mFillJob.clear();
   mLineJob.clear();
   mTileJob.clear();

   // clear jobs
   for(int i=0;i<mJobs.size();i++)
      mJobs[i].clear();
   mJobs.resize(0);

   if (mHardwareData)
   {
      delete mHardwareData;
      mHardwareData = 0;
   }
   mPathData->clear();

   mExtent0 = Extent2DF();
   mRotation0 = 0;
   mBuiltHardware = 0;
   mMeasuredJobs = 0;
   mCursor = UserPoint(0,0);
   mVersion++;
}
Exemplo n.º 3
0
	void PolygonRender::GetExtent(CachedExtent &ioCache)
	{
		mBuildExtent = &ioCache.mExtent;
		*mBuildExtent = Extent2DF();
		
		SetTransform(ioCache.mTransform);
		
		Iterate(itGetExtent,*ioCache.mTransform.mMatrix);
		
		mBuildExtent = 0;
	}
Exemplo n.º 4
0
Extent2DF CachedExtent::Get(const Transform &inTransform)
{
   mID = gCachedExtentID++;
   if (!mExtent.Valid())
      return Extent2DF();
   /*
   double ratio = mMatrix.m00!=0.0 ? inTransform.mMatrix->m00/mMatrix.m00 :
                  mMatrix.m01!=0.0 ? inTransform.mMatrix->m01/mMatrix.m01 : 1.0;
   */
   double ratio = 1;
   Extent2DF result = mExtent;
   result.Transform(ratio, ratio, inTransform.mMatrix->mtx - mMatrix.mtx,
                                  inTransform.mMatrix->mty - mMatrix.mty);
   return result;
}