void ImageMessage::MergeFrom(const ImageMessage& from) { GOOGLE_CHECK_NE(&from, this); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_width()) { set_width(from.width()); } if (from.has_height()) { set_height(from.height()); } if (from.has_data()) { set_data(from.data()); } } mutable_unknown_fields()->MergeFrom(from.unknown_fields()); }
void cQMainWindow::LoadImageFromMemory( const char *iData, size_t iSize ) /**********************************************************************/ { uint32_t map_size = *((uint32_t*)(iData+0)); uint32_t code_size = *((uint32_t*)(iData+4)); uint32_t reloc_size = *((uint32_t*)(iData+8)); ImageMessage *vImage = (ImageMessage*)ImageMessage::Build(r_exec::Now(), map_size, code_size, reloc_size ); int vSize = vImage->code_size() * sizeof(int32_t); ASSERTTXT( vSize == ( iSize - 12 ), "Image size should match size of data in file!" ); memcpy( vImage->data(), iData + 12, iSize - 12 ); r_comp::Image *vCompilerImage = new r_comp::Image(); vCompilerImage->load<ImageMessage>( vImage ); delete vImage; mTimeBar->AddImage( vCompilerImage ); }
void cQMainWindow::LoadImage( const char *iFile ) /**********************************************************************/ { std::ifstream vInput( iFile, std::ios::binary | std::ios::in ); if ( !vInput.good() ) return; ImageMessage *vImage = (ImageMessage*)ImageMessage::Read( vInput ); vImage->data(); vInput.close(); // vImage->trace(); r_comp::Image *vCompilerImage = new r_comp::Image(); vCompilerImage->load<ImageMessage>( vImage ); delete vImage; mTimeBar->AddImage( vCompilerImage ); }