/*! * \ingroup background */ Lib3dsBool lib3ds_background_read(Lib3dsBackground *background, Lib3dsIo *io) { Lib3dsChunk c; if (!lib3ds_chunk_read(&c, io)) { return(LIB3DS_FALSE); } switch (c.chunk) { case LIB3DS_BIT_MAP: { if (!lib3ds_io_read_string(io, background->bitmap.name, 64)) { return(LIB3DS_FALSE); } } break; case LIB3DS_SOLID_BGND: { lib3ds_chunk_read_reset(&c, io); if (!solid_bgnd_read(background, io)) { return(LIB3DS_FALSE); } } break; case LIB3DS_V_GRADIENT: { lib3ds_chunk_read_reset(&c, io); if (!v_gradient_read(background, io)) { return(LIB3DS_FALSE); } } break; case LIB3DS_USE_BIT_MAP: { background->bitmap.use=LIB3DS_TRUE; } break; case LIB3DS_USE_SOLID_BGND: { background->solid.use=LIB3DS_TRUE; } break; case LIB3DS_USE_V_GRADIENT: { background->gradient.use=LIB3DS_TRUE; } break; } return(LIB3DS_TRUE); }
void lib3ds_background_read(Lib3dsBackground *background, Lib3dsIo *io) { Lib3dsChunk c; lib3ds_chunk_read(&c, io); switch (c.chunk) { case CHK_BIT_MAP: { lib3ds_io_read_string(io, background->bitmap_name, 64); break; } case CHK_SOLID_BGND: { lib3ds_chunk_read_reset(&c, io); solid_bgnd_read(background, io); break; } case CHK_V_GRADIENT: { lib3ds_chunk_read_reset(&c, io); v_gradient_read(background, io); break; } case CHK_USE_BIT_MAP: { background->use_bitmap = TRUE; break; } case CHK_USE_SOLID_BGND: { background->use_solid = TRUE; break; } case CHK_USE_V_GRADIENT: { background->use_gradient = TRUE; break; } } }