diff --git a/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp b/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp index 669f1d591e..9a58b5f985 100644 --- a/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp +++ b/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp @@ -791,11 +791,18 @@ void BOARD_ADAPTER::addShape( const PCB_TEXTBOX* aTextBox, CONTAINER_2D_BASE* aC void BOARD_ADAPTER::addTable( const PCB_TABLE* aTable, CONTAINER_2D_BASE* aContainer, const BOARD_ITEM* aOwner ) { - // JEY TODO: tables - // add borders + aTable->DrawBorders( + [&]( const VECTOR2I& ptA, const VECTOR2I& ptB, const STROKE_PARAMS& stroke ) + { + addROUND_SEGMENT_2D( aContainer, TO_SFVEC2F( ptA ), TO_SFVEC2F( ptB ), + TO_3DU( stroke.GetWidth() ), *aOwner ); + } ); for( PCB_TABLECELL* cell : aTable->GetCells() ) - addText( cell, aContainer, aOwner ); + { + if( cell->GetColSpan() > 0 && cell->GetRowSpan() > 0 ) + addText( cell, aContainer, aOwner ); + } } diff --git a/3d-viewer/3d_canvas/create_layer_items.cpp b/3d-viewer/3d_canvas/create_layer_items.cpp index d40ecff8c3..edea57ffe0 100644 --- a/3d-viewer/3d_canvas/create_layer_items.cpp +++ b/3d-viewer/3d_canvas/create_layer_items.cpp @@ -938,7 +938,7 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter ) break; case PCB_TABLE_T: - // JEY TODO: tables + addTable( static_cast( item ), layerContainer, item ); break; case PCB_DIM_ALIGNED_T: