Move SSD vision bridge calls to typed Kotlin
ober
73627d583a700bf739ed9747ad0d4d165df5ce3d
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -7860,7 +7860,7 @@ " truthStoreApplyTruthAndPrune(truthStore, session)" " } else {" " copyExistingTruthSsdArea(session, existingTruth)" - " val nativeDetection = SsdVisionBridge.detect(bitmap)" + " val nativeDetection = ssdVisionDetect(bitmap)" " val detectedCells: List<SsdCell>" " if (nativeDetectionPresent(nativeDetection)) {" " val rustDetection = nativeDetectionOrEmpty(nativeDetection)" @@ -7877,7 +7877,7 @@ " truthStoreApplyTruthAndPrune(truthStore, session)" " }" " applyInitialGuesses(this, session)" - " ssdSessionAddOcrWords(session, SsdOcr.recognizeWords(bitmap))" + " ssdSessionAddOcrWords(session, ssdOcrRecognizeWords(bitmap))" " ocrGuesses = applyOcrGuesses(this, session, SsdOcr.patterns)" " }" " val learnedGuesses = learnedGuessesForDetection(truthStore, session, existingTruthGroupCount)" @@ -7900,8 +7900,8 @@ " detectFailedLogFields(" " sourceKey(expectedPdfSha1, expectedPageIndex + 1, DPI)," " forceDetect," - " SsdVisionBridge.isAvailable()," - " SsdVisionBridge.loadErrorMessage()," + " ssdVisionAvailable()," + " ssdVisionLoadErrorMessage()," " throwableLog(error)" " )" " )" @@ -8690,8 +8690,8 @@ " detectorSource," " learnedGuesses," " ocrGuesses," - " SsdVisionBridge.isAvailable()," - " SsdVisionBridge.loadErrorMessage()" + " ssdVisionAvailable()," + " ssdVisionLoadErrorMessage()" " )" " )" " }" @@ -8987,18 +8987,44 @@ (def (shrinkRectToBoxFill (bitmap : Bitmap) (rect : FloatArray)) : (Nullable FloatArray) (shrinkRectByMaskKind bitmap rect (int32 1))) - (def (shrinkRectToBitmapContentOrOriginal - (bitmap : (Nullable Bitmap)) - (rect : FloatArray)) : FloatArray - (if (nullable-null? bitmap) - rect - (let ((box (shrinkRectToBoxFill (nullable-get bitmap) rect))) - (if (nullable-null? box) - (let ((ink (shrinkRectToInk (nullable-get bitmap) rect))) - (if (nullable-null? ink) - rect - (nullable-get ink))) - (nullable-get box))))))) + (def (shrinkRectToBitmapContentOrOriginal + (bitmap : (Nullable Bitmap)) + (rect : FloatArray)) : FloatArray + (if (nullable-null? bitmap) + rect + (let ((box (shrinkRectToBoxFill (nullable-get bitmap) rect))) + (if (nullable-null? box) + (let ((ink (shrinkRectToInk (nullable-get bitmap) rect))) + (if (nullable-null? ink) + rect + (nullable-get ink))) + (nullable-get box))))))) + + (typed-kotlin-file "com/sfb/ssdreview/SsdVisionBridgeCalls.kt" + (kotlin-imports (android graphics Bitmap)) + (typed-library (com sfb ssdreview) + (export ssdVisionDetect ssdVisionAvailable ssdVisionLoadErrorMessage + ssdOcrRecognizeWords) + (type Bitmap) + (type NativeDetection) + (type OcrWord) + (extern (ssdVisionDetectRaw + (bitmap : Bitmap)) : (Nullable NativeDetection) + (kotlin-call SsdVisionBridge detect)) + (extern (ssdVisionAvailableRaw) : Bool + (kotlin-call SsdVisionBridge isAvailable)) + (extern (ssdVisionLoadErrorMessageRaw) : String + (kotlin-call SsdVisionBridge loadErrorMessage)) + (extern (ssdOcrRecognizeWordsRaw (bitmap : Bitmap)) : (List OcrWord) + (kotlin-call SsdOcr recognizeWords)) + (def (ssdVisionDetect (bitmap : Bitmap)) : (Nullable NativeDetection) + (ssdVisionDetectRaw bitmap)) + (def (ssdVisionAvailable) : Bool + (ssdVisionAvailableRaw)) + (def (ssdVisionLoadErrorMessage) : String + (ssdVisionLoadErrorMessageRaw)) + (def (ssdOcrRecognizeWords (bitmap : Bitmap)) : (List OcrWord) + (ssdOcrRecognizeWordsRaw bitmap)))) (kotlin-file-lines "com/sfb/ssdreview/SsdVisionBridge.kt" ( "package com.sfb.ssdreview"