@@ -15,6 +15,7 @@ import {
1515 getRadiusAlphaFilter ,
1616 setRadiusAlphaFilter ,
1717} from '@/Core/controller/stage/pixi/shaders/RadiusAlphaFilter' ;
18+ import { AdjustmentFilter } from 'pixi-filters' ;
1819
1920export class WebGALPixiContainer extends PIXI . Container {
2021 public containerFilters = new Map < string , PIXI . Filter > ( ) ;
@@ -115,6 +116,71 @@ export class WebGALPixiContainer extends PIXI.Container {
115116 }
116117 }
117118
119+ /**
120+ * adjustment filter
121+ * @public
122+ */
123+ public getOrCreateAdjustmentFilter ( ) : AdjustmentFilter {
124+ const filterFromMap = this . containerFilters . get ( 'adjustment' ) ;
125+ if ( filterFromMap ) {
126+ return filterFromMap as AdjustmentFilter ;
127+ } else {
128+ const adjustment = new AdjustmentFilter ( ) ;
129+ this . addFilter ( adjustment ) ;
130+ this . containerFilters . set ( 'adjustment' , adjustment ) ;
131+ return adjustment ;
132+ }
133+ }
134+
135+ public get brightness ( ) : number {
136+ return this . getOrCreateAdjustmentFilter ( ) . brightness ;
137+ }
138+ public set brightness ( value : number ) {
139+ this . getOrCreateAdjustmentFilter ( ) . brightness = value ;
140+ }
141+
142+ public get contrast ( ) : number {
143+ return this . getOrCreateAdjustmentFilter ( ) . contrast ;
144+ }
145+ public set contrast ( value : number ) {
146+ this . getOrCreateAdjustmentFilter ( ) . contrast = value ;
147+ }
148+
149+ public get saturation ( ) : number {
150+ return this . getOrCreateAdjustmentFilter ( ) . saturation ;
151+ }
152+ public set saturation ( value : number ) {
153+ this . getOrCreateAdjustmentFilter ( ) . saturation = value ;
154+ }
155+
156+ public get gamma ( ) : number {
157+ return this . getOrCreateAdjustmentFilter ( ) . gamma ;
158+ }
159+ public set gamma ( value : number ) {
160+ this . getOrCreateAdjustmentFilter ( ) . gamma = value ;
161+ }
162+
163+ public get colorRed ( ) : number {
164+ return this . getOrCreateAdjustmentFilter ( ) . red * 255.0 ;
165+ }
166+ public set colorRed ( value : number ) {
167+ this . getOrCreateAdjustmentFilter ( ) . red = value / 255.0 ;
168+ }
169+
170+ public get colorGreen ( ) : number {
171+ return this . getOrCreateAdjustmentFilter ( ) . green * 255.0 ;
172+ }
173+ public set colorGreen ( value : number ) {
174+ this . getOrCreateAdjustmentFilter ( ) . green = value / 255.0 ;
175+ }
176+
177+ public get colorBlue ( ) : number {
178+ return this . getOrCreateAdjustmentFilter ( ) . blue * 255.0 ;
179+ }
180+ public set colorBlue ( value : number ) {
181+ this . getOrCreateAdjustmentFilter ( ) . blue = value / 255.0 ;
182+ }
183+
118184 /**
119185 * old film filter
120186 * @public
0 commit comments