Пример #1
0
        public override void Render(bool v, int rOffset)
        {
            if (!m_visible || !m_active)
            {
                v = false;
            }

            if (v && !m_handler.Empty())
            {
                m_handler.Call(EventType.RENDER, this);
            }

            if (m_property.hasRenderingOffset)
            {
                m_lwf.RenderOffset();
                rOffset = m_property.renderingOffset;
            }
            if (rOffset == Int32.MinValue)
            {
                m_lwf.ClearRenderOffset();
            }

            for (int dlDepth = 0; dlDepth < m_data.depths; ++dlDepth)
            {
                Object obj = m_displayList[dlDepth];
                if (obj != null)
                {
                    obj.Render(v, rOffset);
                }
            }

            if (m_attachedMovies != null)
            {
                foreach (Movie movie in m_attachedMovieList.Values)
                {
                    if (movie != null)
                    {
                        movie.Render(v, rOffset);
                    }
                }
            }

            if (m_attachedLWFs != null)
            {
                foreach (LWFContainer lwfContainer in m_attachedLWFList.Values)
                {
                    if (lwfContainer != null)
                    {
                        LWF child = lwfContainer.child;
                        child.SetAttachVisible(v);
                        m_lwf.RenderObject(child.Render(m_lwf.renderingIndex,
                                                        m_lwf.renderingCount, rOffset));
                    }
                }
            }
        }
Пример #2
0
        public override void Render(bool v, int rOffset)
        {
            if (!m_visible || !m_active)
            {
                v = false;
            }

            bool useBlendMode = false;
            bool useMaskMode  = false;

            if (m_blendMode != (int)Constant.BLEND_MODE_NORMAL)
            {
                switch (m_blendMode)
                {
                case (int)Constant.BLEND_MODE_ADD:
                    m_lwf.BeginBlendMode(m_blendMode);
                    useBlendMode = true;
                    break;

                case (int)Constant.BLEND_MODE_ERASE:
                case (int)Constant.BLEND_MODE_LAYER:
                case (int)Constant.BLEND_MODE_MASK:
                    m_lwf.BeginMaskMode(m_blendMode);
                    useMaskMode = true;
                    break;
                }
            }

            if (v && !m_handler.Empty())
            {
                m_handler.Call(EventType.RENDER, this);
            }

            if (m_property.hasRenderingOffset)
            {
                m_lwf.RenderOffset();
                rOffset = m_property.renderingOffset;
            }
            if (rOffset == Int32.MinValue)
            {
                m_lwf.ClearRenderOffset();
            }

            for (int dlDepth = 0; dlDepth < m_data.depths; ++dlDepth)
            {
                Object obj = m_displayList[dlDepth];
                if (obj != null)
                {
                    obj.Render(v, rOffset);
                }
            }

            if (m_attachedMovies != null)
            {
                foreach (Movie movie in m_attachedMovieList.Values)
                {
                    if (movie != null)
                    {
                        movie.Render(v, rOffset);
                    }
                }
            }

            if (m_attachedLWFs != null)
            {
                foreach (LWFContainer lwfContainer in m_attachedLWFList.Values)
                {
                    if (lwfContainer != null)
                    {
                        LWF child = lwfContainer.child;
                        child.SetAttachVisible(v);
                        m_lwf.RenderObject(child.Render(m_lwf.renderingIndex,
                                                        m_lwf.renderingCount, rOffset));
                    }
                }
            }

            if (useBlendMode)
            {
                m_lwf.EndBlendMode();
            }
            if (useMaskMode)
            {
                m_lwf.EndMaskMode();
            }
        }