Cthulhu is no longer a fork. Now it is a screen reader written in Golang.
This commit is contained in:
1 parent
a998fe67de
commit
069fc674dc
708 files changed
+112482
-532
No files matched your search
@@ -0,0 +1,53 @@
|
||||
// Copyright (c) 2026 Storm Dragon
|
||||
// Authors: Storm Dragon, Angus Kola
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
package preferences
|
||||
|
||||
/*
|
||||
#include <stdlib.h>
|
||||
#include "native.h"
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"git.stormux.org/storm/cthulhu/internal/config"
|
||||
)
|
||||
|
||||
func setOCRValues(value config.OCRSettings) {
|
||||
id, content := C.CString("ocrLanguageEntry"), C.CString(value.Language)
|
||||
C.prefs_entry_set(id, content)
|
||||
C.free(unsafe.Pointer(id))
|
||||
C.free(unsafe.Pointer(content))
|
||||
setCombo("ocrLayoutCombo", map[int]int{3: 0, 6: 1, 11: 2}[value.Layout])
|
||||
setSpin("ocrScaleSpinButton", float64(value.Scale))
|
||||
setCheck("ocrGrayscaleCheckButton", value.Grayscale)
|
||||
setCheck("ocrInvertCheckButton", value.Invert)
|
||||
setCheck("ocrBlackWhiteCheckButton", value.BlackWhite)
|
||||
setSpin("ocrBlackWhiteValueSpinButton", float64(value.Threshold))
|
||||
setCheck("ocrAutoRefreshCheckButton", value.AutoRefresh)
|
||||
setSpin("ocrRefreshIntervalSpinButton", float64(value.RefreshInterval))
|
||||
setCheck("ocrConfirmClickCheckButton", value.ConfirmClick)
|
||||
setCheck("ocrCopyToClipboardCheckButton", value.CopyFirstResult)
|
||||
setCheck("ocrAutoReadAllCheckButton", value.AutoReadAll)
|
||||
}
|
||||
|
||||
func getOCRValues() config.OCRSettings {
|
||||
id := C.CString("ocrLanguageEntry")
|
||||
language := C.GoString(C.prefs_entry_get(id))
|
||||
C.free(unsafe.Pointer(id))
|
||||
layout := 3
|
||||
if index := getCombo("ocrLayoutCombo"); index >= 0 && index < 3 {
|
||||
layout = []int{3, 6, 11}[index]
|
||||
}
|
||||
return config.OCRSettings{
|
||||
Language: language, Layout: layout, Scale: int(getSpin("ocrScaleSpinButton")),
|
||||
Grayscale: getCheck("ocrGrayscaleCheckButton"), Invert: getCheck("ocrInvertCheckButton"),
|
||||
BlackWhite: getCheck("ocrBlackWhiteCheckButton"), Threshold: int(getSpin("ocrBlackWhiteValueSpinButton")),
|
||||
AutoRefresh: getCheck("ocrAutoRefreshCheckButton"), RefreshInterval: int(getSpin("ocrRefreshIntervalSpinButton")),
|
||||
ConfirmClick: getCheck("ocrConfirmClickCheckButton"), CopyFirstResult: getCheck("ocrCopyToClipboardCheckButton"),
|
||||
AutoReadAll: getCheck("ocrAutoReadAllCheckButton"),
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user