www.pudn.com > wcore.rar > WebCoreImageRenderer.h


/* 
 * Copyright (C) 2003 Apple Computer, Inc.  All rights reserved. 
 * Portions Copyright (c) 2005 Nokia Corporation, Inc. All rights reserved. 
 * 
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met: 
 * 1. Redistributions of source code must retain the above copyright 
 *    notice, this list of conditions and the following disclaimer. 
 * 2. Redistributions in binary form must reproduce the above copyright 
 *    notice, this list of conditions and the following disclaimer in the 
 *    documentation and/or other materials provided with the distribution. 
 * 
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR 
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 */ 
 
#ifndef __WebCoreImageRenderer_h__ 
#define __WebCoreImageRenderer_h__ 
 
// INCLUDES 
#include  
 
// CONSTANTS 
 
// MACROS 
 
// DATA TYPES 
 
// FUNCTION PROTOTYPES 
 
// FORWARD DECLARATIONS 
class CWebCoreGraphicsContext; 
class MWebCoreScrollView; 
namespace khtml 
    { 
    class CachedImageCallback; 
    } 
// CLASS DECLARATION 
 
/** 
* 
*  @lib webcore.lib 
*  @since 3.0 
*/ 
 
class CWebCoreImageCallbackWrapper : public CBase 
    { 
    public: 
        IMPORT_C void NotifyUpdate(); 
        IMPORT_C void NotifyFinished(); 
        IMPORT_C void NotifyDecodingError(); 
 
        void SetCallback( khtml::CachedImageCallback* aCallback ); 
    private: 
        khtml::CachedImageCallback* iCallback; 
    }; 
 
class MWebCoreImageRenderer 
    { 
    public: 
        virtual TBool IncrementalLoadWithBytes(const TDesC8& aData, 
                                         TBool aIsComplete) = 0; 
        virtual TSize Size() = 0; 
        virtual void Resize(TSize aSize) = 0; 
        virtual void DrawImageInRect(CWebCoreGraphicsContext& aGc, const TRect &aInRect, const TRect &aFromRect) = 0; 
        //- (void)drawImageInRect:(NSRect)ir fromRect:(NSRect)fr compositeOperator:(NSCompositingOperation)compsiteOperator context:(CGContextRef)context; 
        virtual void StopAnimation() = 0; 
        virtual void TileInRect(CWebCoreGraphicsContext& aGc, const TRect &aRect, TPoint aOffset) = 0; 
        virtual TBool IsNull() = 0; 
        virtual MWebCoreImageRenderer* Copy() = 0; 
        virtual void Ref() = 0; 
        virtual void Deref() = 0; 
        virtual void FlushRasterCache() = 0; 
        virtual void RemoveFromScrollView(MWebCoreScrollView* aView) = 0; 
        virtual TBool IsAnimation() = 0; 
        virtual void resetLoopCount() = 0; 
        virtual CWebCoreImageCallbackWrapper* InitCallbackWrapper() = 0; 
        virtual TPtrC8 GetRawData() = 0; 
    }; 
 
#endif 
 
// End of File