public void prepare_for_pass()
{
switch (m_pass_type)
{
case c_pass_type.main_pass:
prepare_for_main_pass();
break;
case c_pass_type.huff_opt_pass:
if (!prepare_for_huff_opt_pass())
break;
prepare_for_output_pass();
break;
case c_pass_type.output_pass:
prepare_for_output_pass();
break;
default:
m_cinfo.ERREXIT(J_MESSAGE_CODE.JERR_NOT_COMPILED);
break;
}
m_is_last_pass = (m_pass_number == m_total_passes - 1);
/* Set up progress monitor's pass info if present */
if (m_cinfo.m_progress != null)
{
m_cinfo.m_progress.Completed_passes = m_pass_number;
m_cinfo.m_progress.Total_passes = m_total_passes;
}
}