⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layer.c

📁 AutoCAD DWG-file viewer
💻 C
字号:
/****************************************************************/
/*			COPYRIGHT NOTICE			*/
/*			----------------			*/
/*  All software in this listing remain the strict copyright	*/
/*  of Ilija Kovacevic and cannot be copied or used in any way	*/
/*  except by written permission of Ilija Kovacevic.		*/
/*								*/
/*	Copyright (c) 1992 Ilija Kovacevic			*/
/*	www.kov.com   email ilija@kov.com			*/
/****************************************************************/

#include "dwgin.h"

PUBLIC AcadLayer *AcadLayer__create( void )

{
return( ( AcadLayer * )get_memory( sizeof( AcadLayer ) ) );
}


PUBLIC void AcadLayer__delete( AcadLayer *me )

{
free( ( char * )me );
}


PUBLIC void AcadLayer__read( AcadLayer *me )

{
char unknown4[ 3 ];
boolean get_unknown3;

if ( debugger ) dprintf( "\nLAYER ----------------------------------------------------\n" );
if ( __drawing->header->layer_size > sizeof( me->standard_flag_values ) +  sizeof( me->name ) +  sizeof( me->color ) + sizeof( me->line_type ) ) get_unknown3 = true;
else get_unknown3 = false;
get_UINT8( &me->standard_flag_values );
get_array( &me->name,sizeof( me->name ) );
if ( __drawing->acad11 )
	{
	get_INT16( &me->line_type );
	get_INT16( &me->color );
	}
else
	{
	get_INT16( &me->color );
	get_INT16( &me->line_type );
	}
if ( me->line_type < 0 ) me->line_type = 0;
if ( get_unknown3 ) get_INT16( &me->line_type );
if ( __drawing->acad11 ) get_array( &unknown4,sizeof( unknown4 ) );
if ( me->color < 0 ) 
	{
	me->color *= -1;  /* turned back on */
	me->on = 0;
	}
else me->on = 1;
if ( me->standard_flag_values&0x3 ) me->frozen = 1;
else me->frozen = 0;
if ( me->standard_flag_values&0x4 ) me->locked = 1;
else me->locked = 0;
}


PUBLIC void AcadLayer__dxfout( AcadLayer *me )

{
if ( me->standard_flag_values &0x80 ) return; 
dxf_string( 0,"LAYER" );
dxf_string( 2,me->name );
dxf_char( 70,me->standard_flag_values&0xff );
if ( me->on ) dxf_INT16( 62,me->color );
else dxf_INT16( 62,-me->color );
dxf_string( 6,line_type_name( me->line_type ) );
}


PUBLIC void AcadLayer__dump_to_debug_file( AcadLayer *me )

{
dprintf( "\nLAYER\n" );
dprintf( "\tStandard flag values %xH\n",me->standard_flag_values&0xff );
dprintf( "\tname [%s]\n",me->name );
dprintf( "\tcolor %x\n",me->color );
dprintf( "\tline type %x\n",me->line_type );
if ( me->on ) dprintf( "\tlayer is on\n" );
else dprintf( "\tlayer is off\n" );
}


PUBLIC void AcadLayer__write( AcadLayer *me )

{
put_UINT8( me->standard_flag_values );
put_array( me->name,sizeof( me->name ) );
put_INT16( me->color );
put_INT16( me->line_type );
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -