/*! * \ingroup background */ Lib3dsBool lib3ds_background_write(Lib3dsBackground *background, Lib3dsIo *io) { if (strlen(background->bitmap.name)) { /*---- LIB3DS_BIT_MAP ----*/ Lib3dsChunk c; c.chunk=LIB3DS_BIT_MAP; c.size=6+1+(Lib3dsDword)strlen(background->bitmap.name); lib3ds_chunk_write(&c,io); lib3ds_io_write_string(io, background->bitmap.name); } if (colorf_defined(background->solid.col)) { /*---- LIB3DS_SOLID_BGND ----*/ Lib3dsChunk c; c.chunk=LIB3DS_SOLID_BGND; c.size=42; lib3ds_chunk_write(&c,io); colorf_write(background->solid.col, io); } if (colorf_defined(background->gradient.top) || colorf_defined(background->gradient.middle) || colorf_defined(background->gradient.bottom)) { /*---- LIB3DS_V_GRADIENT ----*/ Lib3dsChunk c; c.chunk=LIB3DS_V_GRADIENT; c.size=118; lib3ds_chunk_write(&c,io); lib3ds_io_write_float(io, background->gradient.percent); colorf_write(background->gradient.top,io); colorf_write(background->gradient.middle,io); colorf_write(background->gradient.bottom,io); } if (background->bitmap.use) { /*---- LIB3DS_USE_BIT_MAP ----*/ Lib3dsChunk c; c.chunk=LIB3DS_USE_BIT_MAP; c.size=6; lib3ds_chunk_write(&c,io); } if (background->solid.use) { /*---- LIB3DS_USE_SOLID_BGND ----*/ Lib3dsChunk c; c.chunk=LIB3DS_USE_SOLID_BGND; c.size=6; lib3ds_chunk_write(&c,io); } if (background->gradient.use) { /*---- LIB3DS_USE_V_GRADIENT ----*/ Lib3dsChunk c; c.chunk=LIB3DS_USE_V_GRADIENT; c.size=6; lib3ds_chunk_write(&c,io); } return(LIB3DS_TRUE); }
void lib3ds_background_write(Lib3dsBackground *background, Lib3dsIo *io) { if (strlen(background->bitmap_name)) { /*---- LIB3DS_BIT_MAP ----*/ Lib3dsChunk c; c.chunk = CHK_BIT_MAP; c.size = 6 + 1 + (uint32_t)strlen(background->bitmap_name); lib3ds_chunk_write(&c, io); lib3ds_io_write_string(io, background->bitmap_name); } if (colorf_defined(background->solid_color)) { /*---- LIB3DS_SOLID_BGND ----*/ Lib3dsChunk c; c.chunk = CHK_SOLID_BGND; c.size = 42; lib3ds_chunk_write(&c, io); colorf_write(background->solid_color, io); } if (colorf_defined(background->gradient_top) || colorf_defined(background->gradient_middle) || colorf_defined(background->gradient_bottom)) { /*---- LIB3DS_V_GRADIENT ----*/ Lib3dsChunk c; c.chunk = CHK_V_GRADIENT; c.size = 118; lib3ds_chunk_write(&c, io); lib3ds_io_write_float(io, background->gradient_percent); colorf_write(background->gradient_top, io); colorf_write(background->gradient_middle, io); colorf_write(background->gradient_bottom, io); } if (background->use_bitmap) { /*---- LIB3DS_USE_BIT_MAP ----*/ Lib3dsChunk c; c.chunk = CHK_USE_BIT_MAP; c.size = 6; lib3ds_chunk_write(&c, io); } if (background->use_solid) { /*---- LIB3DS_USE_SOLID_BGND ----*/ Lib3dsChunk c; c.chunk = CHK_USE_SOLID_BGND; c.size = 6; lib3ds_chunk_write(&c, io); } if (background->use_gradient) { /*---- LIB3DS_USE_V_GRADIENT ----*/ Lib3dsChunk c; c.chunk = CHK_USE_V_GRADIENT; c.size = 6; lib3ds_chunk_write(&c, io); } }