Example #1
0
        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];
                }
            }
        }
Example #2
0
 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;
     }
 }
Example #3
0
 public osd_output()
 {
     m_chain = null;
 }