User Guide
01.2 · Core Concepts

The Capture-to-Share Pipeline

This page is the single diagram that explains Tex. Every feature in the rest of the guide is a variation, override or configuration of something on this page.

The Pipeline

                       ┌──────────────────────────────┐
  INPUT                │  Hotkey   / Toolbar button   │
                       │  Tray menu / Dock pill       │
                       └──────────────┬───────────────┘
                                      │
                                      ▼
                     ┌──────────────────────────────┐
  (optional)         │   Countdown delay            │   0 / 3 / 5 / 10 s
                     │   (CountdownWindow)          │   ESC to cancel
                     └──────────────┬───────────────┘
                                    │
          ┌─────────────────────────┼──────────────────────────┐
          ▼                         ▼                          ▼
  ┌──────────────┐         ┌──────────────┐          ┌───────────────┐
  │ Region       │         │ Fullscreen   │          │ Scrolling     │
  │ (overlay +   │         │ (all monitors│          │ (multi-frame  │
  │  drag)       │         │  immediate)  │          │  stitch)      │
  └──────┬───────┘         └──────┬───────┘          └──────┬────────┘
         │                        │                         │
         └────────────┬───────────┴─────────────────────────┘
                      │
                      ▼
        ┌────────────────────────────────┐
  LAND  │ Image → MainWindow canvas      │
        │ Image → clipboard (if setting) │
        │ Image → in-memory history      │
        └──────────────┬─────────────────┘
                       │
          (if OpenEditorAfterCapture = true)
                       │
                       ▼
        ┌────────────────────────────────┐
  EDIT  │ AnnotationWindow (fullscreen)  │  — 16+ tools, undo / redo
        │  or inline canvas in MainWindow│
        └──────────────┬─────────────────┘
                       │
                       ▼
        ┌────────────────────────────────┐
 OUTPUT │ Save | Copy | Email attach     │
        │ Email inline | Pin on screen   │
        │ OCR → text   | Scan barcodes   │
        └────────────────────────────────┘

Pipeline Stages → Services and Settings

StageImplemented byKey settings
Input (hotkey)IHotkeyService (NHotkey.Wpf)HotkeySettings.*
Input (tray)H.NotifyIcon tray menuUI.MinimizeToTray
Delay countdownCountdownWindowCapture.DefaultDelay, Capture.DelayOptions
Region overlayCaptureOverlayWindow + CaptureOverlayViewModelCapture.ShowDimensions, Capture.OverlayOpacity
Fullscreen / region captureIScreenCaptureServiceCapture.PlaySound, Capture.CopyToClipboard
Scrolling captureIScrollingCaptureService + ScrollingCaptureWindow
Landing in historyICaptureHistoryServiceHistory.PersistToDisk, History.MaxItems, History.MaxSizeMB
Editor hand-offMainWindowViewModel / AnnotationWindowCapture.OpenEditorAfterCapture
AnnotationIAnnotationService (SkiaSharp)Annotation.* (color, thickness, blur / pixelate size)
SaveIImageSaveServiceSave.DefaultFormat, Save.SaveFolder, Save.FileNamePattern, Save.JpegQuality, Save.PngCompressionLevel, Save.WebPQuality
Clipboard copyIClipboardService
Email (attach / inline)IEmailService
PinPinnedImageWindow
OCR extractionIOcrService (Tesseract)Ocr.Language, Ocr.PreprocessImage, Ocr.AutoCopyText
Barcode scanIQrCodeService (ZXing.Net)

Reading This Diagram

  • Input picks the entry point; the same pipeline runs regardless.
  • Capture chooses which screen acquisition strategy runs.
  • Land is the single point where the image becomes "current" — everything downstream assumes a capture is loaded.
  • Edit is optional; controlled per-capture by a setting.
  • Output is a fan-out; a single capture can be saved, copied, emailed, pinned and OCR'd in any combination.

Once you have this pipeline in your head, every later chapter maps to one box on the diagram.