public static void pop(osd_output callback) { int f = -1; for (int i = 0; i <= m_ptr; i++) { if (m_stack[i] == callback) { f = i; break; } } if (f >= 0) { if (f < m_ptr) { m_stack[f + 1].m_chain = m_stack[f].m_chain; } m_ptr--; for (int i = f; i <= m_ptr; i++) { m_stack[i] = m_stack[i + 1]; } } }
public static void push(osd_output callback) { if (m_ptr < MAXSTACK) { callback.m_chain = (m_ptr >= 0 ? m_stack[m_ptr] : null); m_ptr++; m_stack[m_ptr] = callback; } }
public osd_output() { m_chain = null; }