#include <c4d_filterdata.h>
A data class for creating bitmap loader plugins.
Use RegisterBitmapLoaderPlugin() to register a bitmap loader plugin.
|
virtual Bool | Identify (const Filename &name, UChar *probe, Int32 size)=0 |
|
virtual IMAGERESULT | Load (const Filename &name, BaseBitmap *bm, Int32 frame)=0 |
|
virtual Int32 | GetSaver () |
|
virtual Bool | GetInformation (const Filename &name, Int32 *frames, Float *fps) |
|
virtual IMAGERESULT | LoadAnimated (BitmapLoaderAnimatedData *bd, BITMAPLOADERACTION action, BaseBitmap *bm, Int32 frame) |
|
virtual IMAGERESULT | ExtractSound (BitmapLoaderAnimatedData *bd, BaseSound *snd) |
|
virtual IMAGERESULT | HasSound (BitmapLoaderAnimatedData *bd) |
|
| BaseData () |
|
virtual | ~BaseData () |
|
void | Destructor () |
|
◆ Identify()
Called to identify a file type as one that can be loaded using the bitmap loader.
If possible, the file should not be identified through its suffix, but through the probe data.
- Parameters
-
[in] | name | The filename of the file. |
[in] | probe | The start of a small chunk of data from the start of the file to identify the file type. Cinema 4D owns the pointed array. |
[in] | size | The size of the probe chunk, usually 1024 bytes. |
- Returns
- true if the bitmap loader recognizes the file type, otherwise false.
◆ Load()
Called to load an image file into a bitmap.
- Parameters
-
[in] | name | The name of the file to load. |
[in] | bm | The bitmap to load the image file into. Cinema 4D owns the pointed bitmap. |
[in] | frame | The frame number for formats containing multiple images in a file such as QuickTime or AVI. |
- Returns
- The result of loading the file: IMAGERESULT
◆ GetSaver()
virtual Int32 GetSaver |
( |
| ) |
|
|
virtual |
Called to get the plugin ID of the corresponding BitmapSaverData, if there is one.
- Returns
- The plugin ID of the corresponding bitmap saver, or nullptr if there is none.
◆ GetInformation()
Called to get information on the loading of movies.
- Parameters
-
[in] | name | The name of the file to check. |
[out] | frames | Set this to the number of frames. |
[out] | fps | Set this to the number of frames-per-second. |
- Returns
- true if the information could be retrieved, otherwise false.
◆ LoadAnimated()
Called to accelerate the loading of animated bitmaps.
- Note
- When LoadAnimated() is called with BITMAPLOADERACTION::INIT action (bm is nullptr and frame is 0) the loader can open the movie file bd->moviename and store data in the buffer field bd->moviedata[16].
For every call of BITMAPLOADERACTION::INIT, there is a BITMAPLOADERACTION::FREE (bm is nullptr and frame is 0) in which the image loader closes the movie file.
In between BITMAPLOADERACTION::LOAD is called with a valid bm and frame.
Loaders that overload LoadAnimated do not need to implement code twice, Load should in that case just look like this:
{
return err;
}
@ Load
Definition: Python-ast.h:20
const char const char * name
Definition: abstract.h:195
Definition: c4d_basebitmap.h:428
virtual IMAGERESULT LoadAnimated(BitmapLoaderAnimatedData *bd, BITMAPLOADERACTION action, BaseBitmap *bm, Int32 frame)
Manages file and path names.
Definition: c4d_file.h:94
PyObject PyObject * result
Definition: abstract.h:43
maxon::Int32 Int32
Definition: ge_sys_math.h:60
IMAGERESULT
Definition: ge_prepass.h:3914
@ OK
Image loaded/created.
PyFrameObject * frame
Definition: pycore_traceback.h:92
Data structure for loading a movie in a bitmap loader.
Definition: c4d_filterdata.h:40
Filename moviename
The file name of the movie.
Definition: c4d_filterdata.h:50
- Parameters
-
[in] | bd | The bitmap loader animated data. Cinema 4D owns the pointed data. |
[in] | action | The bitmap loader action: BITMAPLOADERACTION |
[out] | bm | To be filled with the frame bitmap in BITMAPLOADERACTION::LOAD action call. Cinema 4D owns the pointed bitmap. |
[in] | frame | The frame to put into bitmap bm. |
- Returns
- The result of loading the animated file: IMAGERESULT
◆ ExtractSound()
Called to extract the sound of animated bitmaps.
- Parameters
-
[in] | bd | The bitmap loader animated data. Cinema 4D owns the pointed data. |
[in] | snd | The extracted sound. Cinema 4D owns the pointed sound. |
- Returns
- The result of extracting the sound: IMAGERESULT
◆ HasSound()
Called by the Picture Viewer to determine whether a movie has sound or not.
- Parameters
-
[in] | bd | The bitmap loader animated data. Cinema 4D owns the pointed data. |
- Returns
- The result: IMAGERESULT