recoGetFlags() public static method

public static recoGetFlags ( ) : uint
return uint
Beispiel #1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Options);

            var seplet     = FindViewById <CheckBox>(Resource.Id.separate_letters);
            var singleword = FindViewById <CheckBox>(Resource.Id.single_word);
            var corrector  = FindViewById <CheckBox>(Resource.Id.autocorrector);
            var learner    = FindViewById <CheckBox>(Resource.Id.autolearner);
            var userdict   = FindViewById <CheckBox>(Resource.Id.user_dictionary);
            var dictwords  = FindViewById <CheckBox>(Resource.Id.dict_words);

            var recoFlags = WritePadAPI.recoGetFlags();

            seplet.Checked     = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_SEPLET);
            singleword.Checked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_SINGLEWORDONLY);
            learner.Checked    = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_ANALYZER);
            userdict.Checked   = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_USERDICT);
            dictwords.Checked  = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_ONLYDICT);
            corrector.Checked  = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_CORRECTOR);

            seplet.Click += (o, e) => {
                recoFlags = WritePadAPI.setRecoFlag(recoFlags, seplet.Checked, WritePadAPI.FLAG_SEPLET);
                WritePadAPI.recoSetFlags(recoFlags);
            };
            singleword.Click += (o, e) => {
                recoFlags = WritePadAPI.setRecoFlag(recoFlags, singleword.Checked, WritePadAPI.FLAG_SINGLEWORDONLY);
                WritePadAPI.recoSetFlags(recoFlags);
            };
            learner.Click += (o, e) => {
                recoFlags = WritePadAPI.setRecoFlag(recoFlags, learner.Checked, WritePadAPI.FLAG_ANALYZER);
                WritePadAPI.recoSetFlags(recoFlags);
            };
            userdict.Click += (o, e) => {
                recoFlags = WritePadAPI.setRecoFlag(recoFlags, userdict.Checked, WritePadAPI.FLAG_USERDICT);
                WritePadAPI.recoSetFlags(recoFlags);
            };
            dictwords.Click += (o, e) => {
                recoFlags = WritePadAPI.setRecoFlag(recoFlags, dictwords.Checked, WritePadAPI.FLAG_ONLYDICT);
                WritePadAPI.recoSetFlags(recoFlags);
            };
            corrector.Click += (o, e) => {
                recoFlags = WritePadAPI.setRecoFlag(recoFlags, corrector.Checked, WritePadAPI.FLAG_CORRECTOR);
                WritePadAPI.recoSetFlags(recoFlags);
            };
        }
Beispiel #2
0
        public string Recognize(bool bLearn)
        {
            var    res = "";
            var    resultStringList = new List <string>();
            var    wordList         = new List <List <WordAlternative> >();
            var    count            = WritePadAPI.recoStrokeCount();
            string defaultResult    = WritePadAPI.recoInkData(count, false, false, false, false);

            // can also use the default result
            resultStringList.Add(defaultResult);
            var wordCount = WritePadAPI.recoResultColumnCount();

            for (var i = 0; i < wordCount; i++)
            {
                var wordAlternativesList = new List <WordAlternative>();
                var altCount             = WritePadAPI.recoResultRowCount(i);
                for (var j = 0; j < altCount; j++)
                {
                    var word = WritePadAPI.recoResultWord(i, j);
                    if (word == "<--->")
                    {
                        word = "*Error*";
                    }
                    if (string.IsNullOrEmpty(word))
                    {
                        continue;
                    }
                    var weight = WritePadAPI.recoResultWeight(i, j);
                    var flags  = WritePadAPI.recoGetFlags();

                    if (j == 0 && bLearn && weight > 75 && 0 != (flags & WritePadAPI.FLAG_ANALYZER))
                    {
                        WritePadAPI.recoLearnWord(word, weight);
                    }
                    if (wordAlternativesList.All(x => x.Word != word))
                    {
                        wordAlternativesList.Add(new WordAlternative
                        {
                            Word   = word,
                            Weight = weight
                        });
                    }
                    while (resultStringList.Count < j + 2)
                    {
                        resultStringList.Add("");
                    }
                    if (resultStringList[j + 1].Length > 0)
                    {
                        resultStringList[j + 1] += "\t\t";
                    }
                    resultStringList[j + 1] += word + "\t[" + weight + "%]";
                }
                wordList.Add(wordAlternativesList);
            }
            foreach (var line in resultStringList)
            {
                if (string.IsNullOrEmpty(line))
                {
                    continue;
                }
                if (res.Length > 0)
                {
                    res += Environment.NewLine;
                }
                res += line;
            }
            return(res);
        }