// This file is part of BOINC. // http://boinc.berkeley.edu // Copyright (C) 2024 University of California // // BOINC is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. // // BOINC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with BOINC. If not, see . // Mac_Saver_ModuleView.h // BOINC_Saver_Module // #import #import @interface BOINC_Saver_ModuleView : ScreenSaverView { IBOutlet id mConfigureSheet; // our configuration sheet IBOutlet NSButton *mGoToBlankCheckbox; IBOutlet NSTextField *mBlankingTimeTextField; IBOutlet NSTextField *mDefaultPeriodTextField; IBOutlet NSTextField *mSciencePeriodTextField; IBOutlet NSTextField *mChangePeriodTextField; int mVersion; // the version of our prefs NSString *mBlankingTimeString; NSString *mDefaultPeriodString; NSString *mSciencePeriodString; NSString *mChangePeriodString; } - (IBAction)closeSheetSave:(id) sender; - (IBAction)closeSheetCancel:(id) sender; - (bool) setUpToUseCGWindowList; - (void) doPeriodicTasks; @end @interface SharedGraphicsController : NSObject @property (NS_NONATOMIC_IOSONLY, readonly) GLuint currentTextureName; - (void)init:(NSView*)saverView; - (void)testConnection; - (void)portDied:(NSNotification *)notification; - (void)cleanUpOpenGL; @end @interface saverOpenGLView : NSOpenGLView - (GLuint)setupIOSurfaceTexture:(IOSurfaceRef)ioSurfaceBuffer; @end // The declarations below must be kept in sync with // the corresponding ones in Mac_Saver_Module.h #ifdef _DEBUG #define _T(x) x #endif #ifdef __cplusplus extern "C" { #endif void initBOINCSaver(void); int startBOINCSaver(void); int getSSMessage(char **theMessage, int* coveredFreq); void windowIsCovered(); void drawPreview(CGContextRef myContext); void stopAllGFXApps(void); void closeBOINCSaver(void); void setDefaultDisplayPeriods(void); bool getShow_default_ss_first(); double getGFXDefaultPeriod(); double getGFXSciencePeriod(); double getGGFXChangePeriod(); void incompatibleGfxApp(char * appPath, char * wuName, pid_t pid, int slot); void setShow_default_ss_first(bool value); void setGFXDefaultPeriod(double value); void setGFXSciencePeriod(double value); void setGGFXChangePeriod(double value); double getDTime(); void doBoinc_Sleep(double seconds); void launchedGfxApp(char * appPath, char * wuName, pid_t thePID, int slot); int compareBOINCLibVersionTo(int toMajor, int toMinor, int toRelease); void print_to_log_file(const char *format, ...); void strip_cr(char *buf); void PrintBacktrace(void); extern bool gIsCatalina; extern bool gIsHighSierra; extern bool gIsMojave; extern bool gIsSonoma; extern bool gMach_bootstrap_unavailable_to_screensavers; extern mach_port_name_t commsPort; #ifdef __cplusplus } // extern "C" #endif