Beispiel #1
0
bool SkImageRef_ashmem::onDecode(SkImageDecoder* codec, SkStreamRewindable* stream,
                                 SkBitmap* bitmap, SkBitmap::Config config,
                                 SkImageDecoder::Mode mode) {

    if (SkImageDecoder::kDecodeBounds_Mode == mode) {
        return this->INHERITED::onDecode(codec, stream, bitmap, config, mode);
    }

    // Ashmem memory is guaranteed to be initialized to 0.
    codec->setSkipWritingZeroes(true);

    AshmemAllocator alloc(&fRec, this->getURI());

    codec->setAllocator(&alloc);
    bool success = this->INHERITED::onDecode(codec, stream, bitmap, config,
                                             mode);
    // remove the allocator, since its on the stack
    codec->setAllocator(NULL);

    if (success) {
        // remember the colortable (if any)
        SkRefCnt_SafeAssign(fCT, bitmap->getColorTable());
        return true;
    } else {
        if (fRec.fPinned) {
            ashmem_unpin_region(fRec.fFD, 0, 0);
            fRec.fPinned = false;
        }
        this->closeFD();
        return false;
    }
}
Beispiel #2
0
void SkWriteBuffer::setBitmapHeap(SkBitmapHeap* bitmapHeap) {
    SkRefCnt_SafeAssign(fBitmapHeap, bitmapHeap);
    if (bitmapHeap != NULL) {
        SkASSERT(NULL == fPixelSerializer);
        fPixelSerializer.reset(NULL);
    }
}
Beispiel #3
0
SkNamedFactorySet* SkOrderedWriteBuffer::setNamedFactoryRecorder(SkNamedFactorySet* rec) {
    SkRefCnt_SafeAssign(fNamedFactorySet, rec);
    if (fFactorySet != NULL) {
        fFactorySet->unref();
        fFactorySet = NULL;
    }
    return rec;
}
 void doPreDraw(SkColorFilter* colorFilters[], int nFilters) {
     // Create a chain of ImageFilters from colorFilters
     fImageFilter = nullptr;
     for(int i = nFilters; i --> 0;) {
         SkAutoTUnref<SkImageFilter> filter(
                     SkColorFilterImageFilter::Create(colorFilters[i], fImageFilter, nullptr)
         );
         SkRefCnt_SafeAssign(fImageFilter, filter.get());
     }
 }
Beispiel #5
0
void GrRenderTarget::setLastDrawTarget(GrDrawTarget* dt) {
    if (fLastDrawTarget) {
        // The non-MDB world never closes so we can't check this condition
#ifdef ENABLE_MDB
        SkASSERT(fLastDrawTarget->isClosed());
#endif
        fLastDrawTarget->clearRT();
    }

    SkRefCnt_SafeAssign(fLastDrawTarget, dt);
}
Beispiel #6
0
SkListSource* SkGridView::setListSource(SkListSource* src)
{
	if (fSource != src)
	{
		SkRefCnt_SafeAssign(fSource, src);
	//	this->dirtyStrCache();
		this->ensureSelectionIsVisible();
		this->inval(NULL);
	}
	return src;
}
Beispiel #7
0
void SkDebugger::loadPicture(SkPicture* picture) {
    fPictureWidth = picture->width();
    fPictureHeight = picture->height();
    delete fDebugCanvas;
    fDebugCanvas = new SkDebugCanvas(fPictureWidth, fPictureHeight);
    fDebugCanvas->setBounds(fPictureWidth, fPictureHeight);
    fDebugCanvas->setPicture(picture);
    picture->draw(fDebugCanvas);
    fDebugCanvas->setPicture(NULL);
    fIndex = fDebugCanvas->getSize() - 1;
    SkRefCnt_SafeAssign(fPicture, picture);
}
SkListSource* SkListView::setListSource(SkListSource* src)
{
	if (fSource != src)
	{
		SkRefCnt_SafeAssign(fSource, src);
		this->ensureSelectionIsVisible();
		this->inval(NULL);
		
		if (fScrollBar)
			fScrollBar->setTotal(fSource->countRecords());
	}
	return src;
}
FontPlatformData& FontPlatformData::operator=(const FontPlatformData& src)
{
    SkRefCnt_SafeAssign(m_typeface, src.m_typeface);

    m_family = src.m_family;
    m_textSize = src.m_textSize;
    m_fakeBold = src.m_fakeBold;
    m_fakeItalic = src.m_fakeItalic;
    m_harfbuzzFace = src.m_harfbuzzFace;
    m_orientation = src.m_orientation;
    m_textOrientation = src.m_textOrientation;
    m_style = src.m_style;
    m_emSizeInFontUnits = src.m_emSizeInFontUnits;

    return *this;
}
SkView::Artist* SkView::setArtist(Artist* obj)
{
	if (obj == NULL)
	{
		this->removeTagList(kViewArtist_SkTagList);
	}
	else	// add/replace
	{
		Artist_SkTagList* rec = (Artist_SkTagList*)this->findTagList(kViewArtist_SkTagList);

		if (rec)
			SkRefCnt_SafeAssign(rec->fArtist, obj);
		else
			this->addTagList(new Artist_SkTagList(obj));
	}
	return obj;
}
FontPlatformData& FontPlatformData::operator=(const FontPlatformData& data)
{
    if (this != &data) {
        m_font = data.m_font;
        m_size = data.m_size;
        SkRefCnt_SafeAssign(m_typeface, data.m_typeface);
        m_lfQuality = data.m_lfQuality;

        // The following fields will get re-computed if necessary.
        ScriptFreeCache(&m_scriptCache);
        m_scriptCache = 0;

        delete m_scriptFontProperties;
        m_scriptFontProperties = 0;
    } 
    return *this;
}
SkView::Layout* SkView::setLayout(Layout* obj, bool invokeLayoutNow)
{
	if (obj == NULL)
	{
		this->removeTagList(kViewLayout_SkTagList);
	}
	else	// add/replace
	{
		Layout_SkTagList* rec = (Layout_SkTagList*)this->findTagList(kViewLayout_SkTagList);

		if (rec)
			SkRefCnt_SafeAssign(rec->fLayout, obj);
		else
			this->addTagList(new Layout_SkTagList(obj));
	}
	
	if (invokeLayoutNow)
		this->invokeLayout();

	return obj;
}
SkBitmap::Allocator* SkImageDecoder::setAllocator(SkBitmap::Allocator* alloc) {
    SkRefCnt_SafeAssign(fAllocator, alloc);
    return alloc;
}
SkImageDecoder::Chooser* SkImageDecoder::setChooser(Chooser* chooser) {
    SkRefCnt_SafeAssign(fChooser, chooser);
    return chooser;
}
SkImageDecoder::Peeker* SkImageDecoder::setPeeker(Peeker* peeker) {
    SkRefCnt_SafeAssign(fPeeker, peeker);
    return peeker;
}
Beispiel #16
0
SkImageDecoderFactory* SkImageRef::setDecoderFactory(
                                                SkImageDecoderFactory* fact) {
    SkRefCnt_SafeAssign(fFactory, fact);
    return fact;
}
Beispiel #17
0
void PlatformContextSkia::setDrawLooper(SkDrawLooper* dl)
{
    SkRefCnt_SafeAssign(m_state->m_looper, dl);
}
Beispiel #18
0
 void setSharedHeap(SkBitmapHeap* heap) {
     SkASSERT(!shouldFlattenBitmaps(fFlags) || NULL == heap);
     SkRefCnt_SafeAssign(fSharedHeap, heap);
     this->updateReader();
 }
Beispiel #19
0
SkFactoryRecorder* SkFlattenableWriteBuffer::setFactoryRecorder(
    SkFactoryRecorder* rec) {
    SkRefCnt_SafeAssign(fFactoryRecorder, rec);
    return rec;
}
void DeferredLayerUpdater::setPaint(const SkPaint* paint) {
    OpenGLRenderer::getAlphaAndModeDirect(paint, &mAlpha, &mMode);
    SkColorFilter* colorFilter = (paint) ? paint->getColorFilter() : NULL;
    SkRefCnt_SafeAssign(mColorFilter, colorFilter);
}
void Layer::setColorFilter(SkColorFilter* filter) {
    SkRefCnt_SafeAssign(colorFilter, filter);
}
void SkDeferredCanvas::DeferredDevice::setDeviceContext(
    DeviceContext* deviceContext) {
    SkRefCnt_SafeAssign(fDeviceContext, deviceContext);
}
Beispiel #23
0
SkTextStyle* SkTextLayout::setDefaultStyle(SkTextStyle* style) {
    SkRefCnt_SafeAssign(fDefaultStyle, style);
    return style;
}
Beispiel #24
0
void SkProxyCanvas::setProxy(SkCanvas* proxy) {
    SkRefCnt_SafeAssign(fProxy, proxy);
}
Beispiel #25
0
SkRefCntRecorder* SkFlattenableWriteBuffer::setTypefaceRecorder(
    SkRefCntRecorder* rec) {
    SkRefCnt_SafeAssign(fTFRecorder, rec);
    return rec;
}
Beispiel #26
0
SkRefCntSet* SkFlattenableWriteBuffer::setRefCntRecorder(SkRefCntSet* rec) {
    SkRefCnt_SafeAssign(fRCSet, rec);
    return rec;
}
Beispiel #27
0
SkFactorySet* SkBinaryWriteBuffer::setFactoryRecorder(SkFactorySet* rec) {
    SkRefCnt_SafeAssign(fFactorySet, rec);
    return rec;
}
Beispiel #28
0
SkRefCntSet* SkBinaryWriteBuffer::setTypefaceRecorder(SkRefCntSet* rec) {
    SkRefCnt_SafeAssign(fTFSet, rec);
    return rec;
}
Beispiel #29
0
 Draw* setDraw(Draw* d) {
     SkRefCnt_SafeAssign(fDraw, d);
     return d;
 }
Beispiel #30
0
 void setUnrefWhenDestroyed(TestResource* resource) {
     SkRefCnt_SafeAssign(fToDelete, resource);
 }