void CPropPageOptionsD3D::OnBlurryTextures()
{
	// Update the data
	UpdateData();
	
	// Update the display options
	UpdateDisplayOptions();

	// Update the enabled status of the controls
	UpdateEnabledStatus();

	dib_FreeAllTextures();

	RedrawAllDocuments();
}
void PCB_BASE_FRAME::OnToggleTextDrawMode( wxCommandEvent& aEvent )
{
    auto displ_opts = (PCB_DISPLAY_OPTIONS*)GetDisplayOptions();
    displ_opts->m_DisplayModTextFill = !displ_opts->m_DisplayModTextFill;
    EDA_DRAW_PANEL_GAL* gal = GetGalCanvas();

    if( gal )
    {
        // Apply new display options to the GAL canvas
        auto view = static_cast<KIGFX::PCB_VIEW*>( gal->GetView() );
        view->UpdateDisplayOptions( displ_opts );
        view->MarkTargetDirty( KIGFX::TARGET_NONCACHED );
    }

    m_canvas->Refresh();
}
void CPropPageOptionsD3D::UpdateAll(bool bRedrawViews)
{
	// Update the data
	UpdateData();
	
	// Update the display options
	UpdateDisplayOptions();

	// Update the enabled status of the controls
	UpdateEnabledStatus();

	if(bRedrawViews)
	{
		RedrawAllDocuments();
	}
}
void PCB_BASE_FRAME::OnTogglePadDrawMode( wxCommandEvent& aEvent )
{
    auto displ_opts = (PCB_DISPLAY_OPTIONS*)GetDisplayOptions();

    displ_opts->m_DisplayPadFill = !displ_opts->m_DisplayPadFill;
    EDA_DRAW_PANEL_GAL* gal = GetGalCanvas();

    if( gal )
    {
        // Apply new display options to the GAL canvas
        auto view = static_cast<KIGFX::PCB_VIEW*>( gal->GetView() );
        view->UpdateDisplayOptions( displ_opts );

        // Update pads
        BOARD* board = GetBoard();
        for( MODULE* module = board->m_Modules; module; module = module->Next() )
        {
            for( auto pad : module->Pads() )
                view->Update( pad, KIGFX::GEOMETRY );
        }
    }

    m_canvas->Refresh();
}