private void DeleteButton_OnClick(object sender, RoutedEventArgs e) { var item = MainPage.Current.SelectedDictionaryItem; var settingsModel = (EditDictionaryListFlyout.Current.DataContext as HandwritingSettingsViewModel). SettingsModel; var list = settingsModel.DictionaryList; foreach (var listItem in list.Where(listItem => listItem.Equals(item))) { list.Remove(listItem); break; } WritePadAPI.HWR_NewUserDict(WritePadAPI.getRecoHandle()); foreach (var listItem in list) { WritePadAPI.addWordToUserDictionary(listItem); } WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_DICTIONARY); GoBack(); }
private void EditUserWord() { var item = MainPage.Current.SelectedDictionaryItem; var settingsModel = (EditDictionaryListFlyout.Current.DataContext as HandwritingSettingsViewModel). SettingsModel; var list = settingsModel.DictionaryList; var position = 0; foreach (var listItem in list) { if (listItem.Equals(item)) { list.Remove(listItem); list.Insert(position, DictionaryWord.Text); break; } position += 1; } WritePadAPI.HWR_NewUserDict(WritePadAPI.getRecoHandle()); foreach (var listItem in list) { WritePadAPI.addWordToUserDictionary(listItem); } WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_DICTIONARY); }
private void PointerReleased() { var gesture = WritePadAPI.detectGesture(WritePadAPI.GEST_CUT | WritePadAPI.GEST_RETURN, _currentStroke.Points); switch (gesture) { case WritePadAPI.GEST_RETURN: InkCanvas.Children.Remove(_currentStroke); _currentStroke.Points.Clear(); var strokes = (from object child in InkCanvas.Children select child as UIElement).ToList(); var result = RecognizeStrokes(strokes, true); if (string.IsNullOrEmpty(result)) { MessageBox.Show("Text could not be recognized."); result = ""; } RecognizedTextBox.Text = result; return; case WritePadAPI.GEST_CUT: ClearInk(); return; } FinishStrokeDraw(); }
public void cleanView(bool emptyAll) { WritePadAPI.recoResetInk(); mCurrStroke = -1; mPathList.Clear(); mPath.RemoveAllPoints(); SetNeedsDisplay(); }
private void MainWindow_OnClosing(object sender, CancelEventArgs e) { if (InkData != IntPtr.Zero) { WritePadAPI.INK_Erase(InkData); WritePadAPI.INK_FreeData(InkData); } WritePadAPI.releaseRecognizer(); }
private void Form1_Deactivate(object sender, EventArgs e) { if (InkData != IntPtr.Zero) { WritePadAPI.INK_Erase(InkData); WritePadAPI.INK_FreeData(InkData); } WritePadAPI.releaseRecognizer(); }
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { DrawGrid(); LanguagesCombo.ItemsSource = new[] { "English", "English (UK)", "German", "French", "Spanish", "Portuguese", "Brazilian", "Dutch", "Italian", "Finnish", "Sweddish", "Norwegian", "Danish", "Indonesian" }; DictionaryChanged(); var langId = WritePadAPI.getLanguage(); UpdateSelectedLanguage(langId); }
private void ClearInk() { if (InkData != IntPtr.Zero) { WritePadAPI.INK_Erase(InkData); } InkData = IntPtr.Zero; InkCanvas.Children.Clear(); DrawGrid(); }
private void Options_Load(object sender, EventArgs e) { flags = WritePadAPI.HWR_GetRecognitionFlags(WritePadAPI.getRecoHandle()); SeparateLetters.Checked = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_SEPLET); DisableSegmentation.Checked = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_SINGLEWORDONLY); AutoLearner.Checked = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_ANALYZER); AutoCorrector.Checked = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_CORRECTOR); UserDictionary.Checked = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_USERDICT); DictionaryOnly.Checked = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_ONLYDICT); }
private void SaveUserWord() { var word = DictionaryWord.Text; var settingsModel = (EditDictionaryListFlyout.Current.DataContext as HandwritingSettingsViewModel). SettingsModel; var list = settingsModel.DictionaryList; list.Add(word); WritePadAPI.addWordToUserDictionary(word); WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_DICTIONARY); }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { WritePadAPI.recoInit(); WritePadAPI.initializeFlags(); window = new UIWindow(UIScreen.MainScreen.Bounds); viewController = new xamarin_sampleViewController(); window.RootViewController = viewController; window.MakeKeyAndVisible(); return(true); }
private void ClearInk() { polylineList.Clear(); if (panelCanvas != null) { panelCanvas.Invalidate(); } if (InkData != IntPtr.Zero) { WritePadAPI.INK_Erase(InkData); } InkData = IntPtr.Zero; }
private void Options_OnLoaded(object sender, RoutedEventArgs e) { recoFlags = WritePadAPI.HWR_GetRecognitionFlags(WritePadAPI.getRecoHandle()); separate_letters.IsChecked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_SEPLET); single_word.IsChecked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_SINGLEWORDONLY); autocorrector.IsChecked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_CORRECTOR); autolearner.IsChecked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_ANALYZER); user_dictionary.IsChecked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_USERDICT); dict_words.IsChecked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_ONLYDICT); var langId = WritePadAPI.getLanguage(); UpdateSelectedLanguage(langId); }
public override void TouchesEnded(MonoTouch.Foundation.NSSet touches, UIEvent evt) { base.TouchesEnded(touches, evt); var gesture = WritePadAPI.detectGesture(WritePadAPI.GEST_CUT | WritePadAPI.GEST_RETURN, currentStroke); if (!mMoved) { mX++; } AddPixelsXY(mX, mY, true); mCurrStroke = -1; mMoved = false; strokeLen = 0; mPath.AddLineTo(new PointF(mX, mY)); mPathList.Add(mPath); mPath = new UIBezierPath(); mPath.LineWidth = WritePadAPI.DEFAULT_INK_WIDTH; mPath.LineCapStyle = CGLineCap.Round; mPath.LineJoinStyle = CGLineJoin.Round; SetNeedsDisplay(); switch (gesture) { case WritePadAPI.GEST_RETURN: if (OnReturnGesture != null) { mPathList.RemoveAt(mPathList.Count - 1); WritePadAPI.recoDeleteLastStroke(); SetNeedsDisplay(); OnReturnGesture(); } break; case WritePadAPI.GEST_CUT: if (OnCutGesture != null) { mPathList.RemoveAt(mPathList.Count - 1); WritePadAPI.recoDeleteLastStroke(); SetNeedsDisplay(); OnCutGesture(); } break; } }
public string Recognize(bool bLearn) { var wordList = new List <List <WordAlternative> > (); var count = WritePadAPI.recoStrokeCount(); string defaultResult = WritePadAPI.recoInkData(count, false, false, false, false); /*if (defaultResult.Length > 0 && !alphabet.ContainsKey (defaultResult[0])) * { * alphabet.Add (defaultResult[0], mPathList [mPathList.Count - 1]); * }*/ 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++) { String word = WritePadAPI.recoResultWord(i, j); if (word == "<--->") { word = "*Error*"; } if (string.IsNullOrEmpty(word)) { continue; } uint flags = WritePadAPI.recoGetFlags(); var weight = WritePadAPI.recoResultWeight(i, j); 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 }); } } } return(defaultResult); }
private async void ExportDictionaryButtonClick(object sender, RoutedEventArgs e) { var fileSavePicker = new FileSavePicker(); fileSavePicker.FileTypeChoices.Add(".txt", new List <string> { ".txt" }); fileSavePicker.SettingsIdentifier = "picker1"; var fileToSave = await fileSavePicker.PickSaveFileAsync(); if (fileToSave == null) { return; } WritePadAPI.exportUserDictionary(fileToSave.Path); }
public override void TouchesBegan(MonoTouch.Foundation.NSSet touches, UIEvent evt) { base.TouchesBegan(touches, evt); currentStroke = new List <WritePadAPI.CGTracePoint> (); UITouch touch = (UITouch)touches.AnyObject; var location = touch.LocationInView(this); mPath.RemoveAllPoints(); mPath.MoveTo(new PointF(location.X, location.Y)); mX = location.X; mY = location.Y; AddCurrentPoint(mX, mY); mMoved = false; strokeLen = 0; mCurrStroke = WritePadAPI.recoNewStroke(WritePadAPI.DEFAULT_INK_WIDTH, 0xFF0000FF); AddPixelsXY(mX, mY, false); }
private async void ImportDictionaryButtonClick(object sender, RoutedEventArgs e) { var filePicker = new FileOpenPicker(); filePicker.FileTypeFilter.Add(".txt"); filePicker.ViewMode = PickerViewMode.Thumbnail; filePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; filePicker.SettingsIdentifier = "picker1"; filePicker.CommitButtonText = "Import user dictionary"; var files = await filePicker.PickSingleFileAsync(); if (files == null) { return; } WritePadAPI.importUserDictionary(files.Path); }
private void SaveAutoCorrectionWordClick() { if (string.IsNullOrEmpty(AutoCorrectionFirstWord.Text) || string.IsNullOrEmpty(AutoCorrectionSecondWord.Text)) { return; } var firstWord = AutoCorrectionFirstWord.Text; var secondWord = AutoCorrectionSecondWord.Text; var isAlwaysReplace = AutoCorrectionAlwaysReplace.IsOn; var isIgnoreCase = AutoCorrectionIgnoreCase.IsOn; var isDisabled = AutoCorrectionDisabled.IsOn; var settingsModel = (EditAutoCorrectorListFlyout.Current.DataContext as HandwritingSettingsViewModel).SettingsModel; var list = settingsModel.AutoCorrectionList; list.Add(new HandwritingSettingsModel.CorrectionStructure { FirstWord = firstWord, SecondWord = secondWord, IsAlwaysReplace = isAlwaysReplace, IsDisabled = isDisabled, IsIgnoreCase = isIgnoreCase }); var flags = 0; if (isIgnoreCase) { flags |= WritePadAPI.FLAG_IGNORECASE; } if (isAlwaysReplace) { flags |= WritePadAPI.FLAG_ALWAYS_REPLACE; } if (isDisabled) { flags |= WritePadAPI.FLAG_DISABLED; } WritePadAPI.HWR_AddWordToWordList(WritePadAPI.getRecoHandle(), firstWord, secondWord, flags, 0); WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_AUTOCORRECTOR); settingsModel.OnPropertyChanged("AutoCorrectionList"); }
private async void OnDictionaryChanged() { StorageFolder userpath = null; WritePadAPI.resetRecognizer(); try { userpath = await ApplicationData.Current.LocalFolder.CreateFolderAsync("Dictionaries"); } catch (Exception) { } if (userpath == null) { userpath = await ApplicationData.Current.LocalFolder.GetFolderAsync("Dictionaries"); } var flags = WritePadAPI.HWR_GetRecognitionFlags(WritePadAPI.getRecoHandle()); WritePadAPI.initRecognizerForLanguage((int)WritePadAPI.language, userpath.Path, Package.Current.InstalledLocation.Path, flags); }
private void panelCanvas_MouseUp(object sender, MouseEventArgs e) { var gesture = WritePadAPI.detectGesture(WritePadAPI.GEST_CUT | WritePadAPI.GEST_RETURN, polylineList[polylineList.Count - 1]); switch (gesture) { case WritePadAPI.GEST_RETURN: polylineList.RemoveAt(polylineList.Count - 1); Refresh(); var result = RecognizeStrokes(polylineList, true); if (string.IsNullOrEmpty(result)) { MessageBox.Show("Text could not be recognized."); result = ""; } textBox1.Text = result; return; case WritePadAPI.GEST_CUT: ClearInk(); return; } }
private void DeleteAutoCorrectionWordClick(object sender, RoutedEventArgs e) { var item = SelectedCorrectionStructure; var settingsModel = (EditAutoCorrectorListFlyout.Current.DataContext as HandwritingSettingsViewModel).SettingsModel; var list = settingsModel.AutoCorrectionList; WritePadAPI.HWR_EmptyWordList(WritePadAPI.getRecoHandle()); foreach (var listItem in list.Where(listItem => listItem.Equals(item))) { list.Remove(listItem); break; } foreach (var listItem in list) { var flags = 0; if (listItem.IsIgnoreCase) { flags |= WritePadAPI.FLAG_IGNORECASE; } if (listItem.IsAlwaysReplace) { flags |= WritePadAPI.FLAG_ALWAYS_REPLACE; } if (listItem.IsDisabled) { flags |= WritePadAPI.FLAG_DISABLED; } WritePadAPI.HWR_AddWordToWordList(WritePadAPI.getRecoHandle(), listItem.FirstWord, listItem.SecondWord, flags, 0); } WritePadAPI.saveRecognizerDataOfType(WritePadAPI.USERDATA_AUTOCORRECTOR); settingsModel.OnPropertyChanged("AutoCorrectionList"); AddAutoCorrectionWordLightDismissAnimatedPopup.IsOpen = false; }
public async void OnCanvasPointerReleased(object sender, PointerRoutedEventArgs e, Canvas InkCanvas, TextBox RecognizedTextBox) { if (e.Pointer.PointerId != _currentPointerId) { return; } if (e.GetCurrentPoint(null).Properties.PointerUpdateKind == PointerUpdateKind.RightButtonReleased) { return; } var gesture = WritePadAPI.detectGesture(WritePadAPI.GEST_CUT | WritePadAPI.GEST_RETURN, _currentStroke.Points); switch (gesture) { case WritePadAPI.GEST_RETURN: InkCanvas.Children.Remove(_currentStroke); _currentStroke.Points.Clear(); var strokes = (from object child in InkCanvas.Children select child as UIElement).ToList(); var result = RecognizeStrokes(strokes, true); if (string.IsNullOrEmpty(result)) { var messageBox = new MessageDialog("Text could not be recognized."); messageBox.Commands.Add(new UICommand("Close")); await messageBox.ShowAsync(); result = ""; } RecognizedTextBox.Text = result; return; case WritePadAPI.GEST_CUT: ClearInk(InkCanvas); return; } FinishStrokeDraw(InkCanvas); }
private int AddPixelsXY(float X, float Y, bool bLastPoint) { float xNew, yNew, x1, y1; int nSeg = SEGMENT3; if (mCurrStroke < 0) { return(0); } if (strokeLen < 1) { _lastPoint.X = _previousLocation.X = X; _lastPoint.Y = _previousLocation.Y = Y; WritePadAPI.recoAddPixel(mCurrStroke, X, Y); AddCurrentPoint(X, Y); strokeLen = 1; return(1); } float dx = Math.Abs(X - _lastPoint.X); float dy = Math.Abs(Y - _lastPoint.Y); if ((dx + dy) < SEGMENT_DIST_1) { _lastPoint.X = _previousLocation.X = X; _lastPoint.Y = _previousLocation.Y = Y; WritePadAPI.recoAddPixel(mCurrStroke, X, Y); AddCurrentPoint(X, Y); strokeLen++; return(1); } if ((dx + dy) < SEGMENT_DIST_2) { nSeg = SEGMENT2; } else if ((dx + dy) < SEGMENT_DIST_3) { nSeg = SEGMENT3; } else { nSeg = SEGMENT4; } int nPoints = 0; for (int i = 1; i < nSeg; i++) { x1 = _previousLocation.X + ((X - _previousLocation.X) * i) / nSeg; //the point "to look at" y1 = _previousLocation.Y + ((Y - _previousLocation.Y) * i) / nSeg; //the point "to look at" xNew = _lastPoint.X + (x1 - _lastPoint.X) / nSeg; yNew = _lastPoint.Y + (y1 - _lastPoint.Y) / nSeg; if (xNew != _lastPoint.X || yNew != _lastPoint.Y) { _lastPoint.X = xNew; _lastPoint.Y = yNew; WritePadAPI.recoAddPixel(mCurrStroke, xNew, yNew); AddCurrentPoint(xNew, yNew); strokeLen++; nPoints++; } } if (bLastPoint) { // add last point if (X != _lastPoint.X || Y != _lastPoint.Y) { _lastPoint.X = X; _lastPoint.Y = Y; WritePadAPI.recoAddPixel(mCurrStroke, X, Y); AddCurrentPoint(X, Y); strokeLen++; nPoints++; } } _previousLocation.X = X; _previousLocation.Y = Y; return(nPoints); }
public void DictionaryChanged() { var path = AppDomain.CurrentDomain.BaseDirectory; WritePadAPI.initRecognizerForLanguage((int)WritePadAPI.language, path, path, 0); }
private void LanguagesCombo_SelectedIndexChanged(object sender, EventArgs e) { var selIndex = (sender as ComboBox).SelectedIndex; var language = WritePadAPI.LanguageType.en; switch (selIndex) { case 0: language = WritePadAPI.LanguageType.en; break; case 1: language = WritePadAPI.LanguageType.en_uk; break; case 2: language = WritePadAPI.LanguageType.de; break; case 3: language = WritePadAPI.LanguageType.fr; break; case 4: language = WritePadAPI.LanguageType.es; break; case 5: language = WritePadAPI.LanguageType.pt_PT; break; case 6: language = WritePadAPI.LanguageType.pt_BR; break; case 7: language = WritePadAPI.LanguageType.nl; break; case 8: language = WritePadAPI.LanguageType.it; break; case 9: language = WritePadAPI.LanguageType.fi; break; case 10: language = WritePadAPI.LanguageType.sv; break; case 11: language = WritePadAPI.LanguageType.nb; break; case 12: language = WritePadAPI.LanguageType.da; break; case 13: language = WritePadAPI.LanguageType.id; break; } var flags = WritePadAPI.HWR_GetRecognitionFlags(WritePadAPI.getRecoHandle()); ClearInk(); WritePadAPI.releaseRecognizer(); WritePadAPI.language = language; DictionaryChanged(); WritePadAPI.HWR_SetRecognitionFlags(WritePadAPI.getRecoHandle(), flags); }
private void Form1_Load(object sender, EventArgs e) { var langId = WritePadAPI.getLanguage(); UpdateSelectedLanguage(langId); }
/// <summary>n /// Recognizes a collection of Polyline objects into text. Words are recognized with alternatives, eash weighted with probability. /// </summary> /// <param name="strokes">Strokes to recognize</param> /// <returns></returns> public string RecognizeStrokes(List <List <Point> > strokes, bool bLearn) { WritePadAPI.HWR_Reset(WritePadAPI.getRecoHandle()); if (InkData != IntPtr.Zero) { WritePadAPI.INK_Erase(InkData); InkData = IntPtr.Zero; } InkData = WritePadAPI.INK_InitData(); foreach (var polyline in strokes) { WritePadAPI.AddStroke(InkData, polyline); } var res = ""; var resultStringList = new List <string>(); var wordList = new List <List <WordAlternative> >(); var defaultResultPtr = WritePadAPI.recognizeInkData(InkData, 0); var defaultResult = Marshal.PtrToStringUni(defaultResultPtr); resultStringList.Add(defaultResult); var wordCount = WritePadAPI.HWR_GetResultWordCount(WritePadAPI.getRecoHandle()); for (var i = 0; i < wordCount; i++) { var wordAlternativesList = new List <WordAlternative>(); var altCount = WritePadAPI.HWR_GetResultAlternativeCount(WritePadAPI.getRecoHandle(), i); for (var j = 0; j < altCount; j++) { var wordPtr = WritePadAPI.getResultWord(i, j); var word = Marshal.PtrToStringUni(wordPtr); if (word == "<--->") { word = "*Error*"; } if (string.IsNullOrEmpty(word)) { continue; } uint flags = WritePadAPI.HWR_GetRecognitionFlags(WritePadAPI.getRecoHandle()); var weight = WritePadAPI.HWR_GetResultWeight(WritePadAPI.getRecoHandle(), i, j); if (weight == 0) { continue; } if (j == 0 && bLearn && weight > 75 && 0 != (flags & WritePadAPI.FLAG_ANALYZER)) { // if learner is enabled, learn default word(s) when the Return gesture is used WritePadAPI.recoLearnWord(word, weight); } if (wordAlternativesList.All(x => x.Word != word)) { wordAlternativesList.Add(new WordAlternative { Word = word, Weight = weight } ); } while (resultStringList.Count < j + 2) { var emptyStr = ""; for (int k = 0; k < i; k++) { emptyStr += "\t"; } resultStringList.Add(emptyStr); } 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); }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { var cell = tableView.DequeueReusableCell(OptionsViewControllerCell.Key) as OptionsViewControllerCell; if (cell == null) { cell = new OptionsViewControllerCell(); } uint flags = WritePadAPI.recoGetFlags(); var sw = new UISwitch(); sw.ValueChanged += (object sender, EventArgs e) => { UISwitch swit = (UISwitch)sender; flags = WritePadAPI.recoGetFlags(); switch (swit.Tag) { case (int)WritePadOptions.kWritePadOptionsSepLetters: flags = WritePadAPI.setRecoFlag(flags, swit.On, WritePadAPI.FLAG_SEPLET); break; case (int)WritePadOptions.kWritePadOptionsSingleWord: flags = WritePadAPI.setRecoFlag(flags, swit.On, WritePadAPI.FLAG_SINGLEWORDONLY); break; case (int)WritePadOptions.kWritePadOptionsLearner: flags = WritePadAPI.setRecoFlag(flags, swit.On, WritePadAPI.FLAG_ANALYZER); break; case (int)WritePadOptions.kWritePadOptionsAutcorrector: flags = WritePadAPI.setRecoFlag(flags, swit.On, WritePadAPI.FLAG_CORRECTOR); break; case (int)WritePadOptions.kWritePadOptionsUserDict: flags = WritePadAPI.setRecoFlag(flags, swit.On, WritePadAPI.FLAG_USERDICT); break; case (int)WritePadOptions.kWritePadOptionsDictionaryOnly: flags = WritePadAPI.setRecoFlag(flags, swit.On, WritePadAPI.FLAG_ONLYDICT); break; } WritePadAPI.recoSetFlags(flags); }; sw.Tag = indexPath.Row; cell.AccessoryView = sw; switch (indexPath.Row) { case (int)WritePadOptions.kWritePadOptionsSepLetters: sw.On = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_SEPLET); cell.TextLabel.Text = "Separate letters mode (PRINT)"; break; case (int)WritePadOptions.kWritePadOptionsSingleWord: sw.On = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_SINGLEWORDONLY); cell.TextLabel.Text = "Disable word segmentation (single word)"; break; case (int)WritePadOptions.kWritePadOptionsLearner: sw.On = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_ANALYZER); cell.TextLabel.Text = "Enable Automatic learner"; break; case (int)WritePadOptions.kWritePadOptionsAutcorrector: sw.On = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_CORRECTOR); cell.TextLabel.Text = "Enable Autocorrector"; break; case (int)WritePadOptions.kWritePadOptionsUserDict: sw.On = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_USERDICT); cell.TextLabel.Text = "Enable User Dictionary"; break; case (int)WritePadOptions.kWritePadOptionsDictionaryOnly: sw.On = WritePadAPI.isRecoFlagSet(flags, WritePadAPI.FLAG_ONLYDICT); cell.TextLabel.Text = "Recognize Dictionary Words Only"; break; } return(cell); }
public override void WillTerminate(UIApplication app) { WritePadAPI.recoFree(); }
private void UpdateSelectedLanguage(WritePadAPI.LanguageType langId) { var langIndex = 0; switch (langId) { case WritePadAPI.LanguageType.en: langIndex = 0; break; case WritePadAPI.LanguageType.en_uk: langIndex = 1; break; case WritePadAPI.LanguageType.de: langIndex = 2; break; case WritePadAPI.LanguageType.fr: langIndex = 3; break; case WritePadAPI.LanguageType.es: langIndex = 4; break; case WritePadAPI.LanguageType.pt_PT: langIndex = 5; break; case WritePadAPI.LanguageType.pt_BR: langIndex = 6; break; case WritePadAPI.LanguageType.nl: langIndex = 7; break; case WritePadAPI.LanguageType.it: langIndex = 8; break; case WritePadAPI.LanguageType.fi: langIndex = 9; break; case WritePadAPI.LanguageType.sv: langIndex = 10; break; case WritePadAPI.LanguageType.nb: langIndex = 11; break; case WritePadAPI.LanguageType.da: langIndex = 12; break; } LanguagesCombo.SelectedIndex = langIndex; }