Logo ROOT  
Reference Guide
TImagePlugin.h
Go to the documentation of this file.
1// @(#)root/graf:$Id$
2// Author: Valeriy Onuchin 23/06/05
3
4/*************************************************************************
5 * Copyright (C) 2001-2002, Rene Brun, Fons Rademakers and Reiner Rohlfs *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TImagePlugin
13#define ROOT_TImagePlugin
14
15
16#include "TObject.h"
17
18#include "TString.h"
19
20#include "TROOT.h"
21
22class TImagePlugin : public TObject {
23
24protected:
25 TString fExtension; ///< file extension
26
27public:
28 TImagePlugin(const char *ext) { fExtension = ext; }
29 virtual ~TImagePlugin()
30 {
31 // Required since we overload TObject::Hash.
33 }
34
35 virtual unsigned char *ReadFile(const char *filename, UInt_t &w, UInt_t &h) = 0;
36 virtual Bool_t WriteFile(const char *filename, unsigned char *argb, UInt_t w, UInt_t h) = 0;
37 ULong_t Hash() const { return fExtension.Hash(); }
38
39 ClassDef(TImagePlugin, 0) // base class for different image format handlers(plugins)
40};
41
42#endif
#define h(i)
Definition: RSha256.hxx:106
unsigned long ULong_t
Definition: RtypesCore.h:53
#define ClassDef(name, id)
Definition: Rtypes.h:322
TImagePlugin(const char *ext)
Definition: TImagePlugin.h:28
virtual unsigned char * ReadFile(const char *filename, UInt_t &w, UInt_t &h)=0
ULong_t Hash() const
Return hash value for this object.
Definition: TImagePlugin.h:37
TString fExtension
file extension
Definition: TImagePlugin.h:25
virtual ~TImagePlugin()
Definition: TImagePlugin.h:29
virtual Bool_t WriteFile(const char *filename, unsigned char *argb, UInt_t w, UInt_t h)=0
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:131
UInt_t Hash(ECaseCompare cmp=kExact) const
Return hash value.
Definition: TString.cxx:638
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition: TROOT.h:395