コード例 #1
0
        public bool Group(string pInput, out ImageLayers pReturn)
        {
            ImageLayers temp = new ImageLayers(mName + " " + pInput);

            foreach (ImageLayer layer in mLayers)
            {
                if (layer.mName.Contains(pInput))
                {
                    temp.AddLayer(layer);
                }
            }

            pReturn = temp;
            if (temp.mLayers.Count > 0)
            {
                return(true);
            }
            return(false);
        }
コード例 #2
0
ファイル: Multimeter.cs プロジェクト: SeppyMoose/App-112GW
        static public void SetSegment(char pInput, ref ImageLayers pImages)
        {
            //Make len a member
            int len    = pImages.mLayers.Count;
            int pValue = ToSegment(pInput);

            pValue &= 0xff;

            for (int i = 0; i < len; i++)
            {
                if ((pValue & 1) == 1)
                {
                    pImages.mLayers[i].On();
                }
                else
                {
                    if (pInput != '.')
                    {
                        pImages.mLayers[i].Off();
                    }
                }
                pValue >>= 1;
            }
        }
コード例 #3
0
ファイル: Multimeter.cs プロジェクト: SeppyMoose/App-112GW
 static private void SetSegment(char pInput, ImageLayers pSegment)
 {
     SevenSegment.SetSegment(pInput, ref pSegment);
 }
コード例 #4
0
ファイル: Multimeter.cs プロジェクト: SeppyMoose/App-112GW
        public Multimeter(string pLayerPath)
        {
            ImageLayers segments    = new ImageLayers("mSegments");
            ImageLayers subsegments = new ImageLayers("mSubsegments");

            mFocusState = eFocusState.eNormal;

            mClickedPaint       = new SKPaint();
            mClickedPaint.Color = new SKColor(0, 0, 0, 200);

            //New layer images
            mSegments    = new List <ImageLayers>();
            mSubSegments = new List <ImageLayers>();
            mBargraph    = new ImageLayers("mBargraph");
            mOther       = new ImageLayers("mOther");

            //Sort images into appropreate layered images
            string[] files = System.IO.Directory.GetFiles(pLayerPath);
            foreach (string filename in files)
            {
                if (filename.Contains("seg"))
                {
                    segments.AddLayer(filename);
                }

                else if (filename.Contains("sub"))
                {
                    subsegments.AddLayer(filename);
                }

                else if (filename.Contains("bar"))
                {
                    mBargraph.AddLayer(filename);
                }

                else
                {
                    mOther.AddLayer(filename);
                }
            }

            //Sort Images alphabetically within layered images
            subsegments.Sort();
            mBargraph.Sort();
            segments.Sort();
            mOther.Sort();

            //Sort segments and subsegments into seperate digits
            ImageLayers returned;
            int         i;

            //Setup the different segments
            i = 1;
            while (segments.Group("seg" + (i++).ToString(), out returned))
            {
                mSegments.Add(returned);
            }

            //Setup the different subsegments
            i = 1;
            while (subsegments.Group("sub" + (i++).ToString(), out returned))
            {
                mSubSegments.Add(returned);
            }

            //Move decimal point to the end
            foreach (ImageLayers temp in mSegments)
            {
                temp.ToBottom("dp");
            }

            foreach (ImageLayers temp in mSubSegments)
            {
                temp.ToBottom("dp");
            }
        }
コード例 #5
0
ファイル: Multimeter.cs プロジェクト: SeppyMoose/App-112GW
 static public void Blank(ImageLayers pImages)
 {
     SetSegment(' ', ref pImages);
 }