View Javadoc
1   package de.spiritscorp.datasync.theme;
2   
3   /*-
4    * 		Data Sync
5    *
6    * 		Copyright ©   2022    The Spirit
7    * 		@email                        thespirit@spiritscorp.network
8    *
9    * 		This program is free software; you can redistribute it and/or modify
10   * 		it under the terms of the GNU General Public License as published by
11   * 		the Free Software Foundation; either version 3 of the License, or
12   * 		(at your option) any later version.
13   *
14   * 		This program is distributed in the hope that it will be useful,
15   * 		but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * 		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17   * 		See the GNU General Public License for more details.
18   *
19   * 		You should have received a copy of the GNU General Public License
20   * 		along with this program. If not, see <http://www.gnu.org/licenses/>.
21   */
22  
23  import javafx.scene.Scene;
24  
25  /**
26   * Strategy interface definition for injecting interchangeable CSS skins into the workspace stage.
27   *
28   * @author Tom Spirit
29   */
30  public interface AppTheme {
31  	/**
32  	 * Applies specific color palettes, fonts, and controls overrides to the target scene.
33  	 *
34  	 * @param scene The active window scene graph context.
35  	 */
36  	void apply( Scene scene );
37  
38  	/**
39  	 * @return Display name of the theme for UI selection components.
40  	 */
41  	String getName();
42  }