android: add BlurEffectView
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
24
doric-js/index.d.ts
vendored
24
doric-js/index.d.ts
vendored
@@ -96,6 +96,7 @@ declare module 'doric/lib/src/widget/index.widget' {
|
||||
export * from 'doric/lib/src/widget/draggable';
|
||||
export * from 'doric/lib/src/widget/switch';
|
||||
export * from 'doric/lib/src/widget/gesture';
|
||||
export * from 'doric/lib/src/widget/effect';
|
||||
}
|
||||
|
||||
declare module 'doric/lib/src/native/index.native' {
|
||||
@@ -1088,6 +1089,29 @@ declare module 'doric/lib/src/widget/gesture' {
|
||||
export function gestureContainer(views: View | View[], config?: Partial<GestureContainer>): GestureContainer;
|
||||
}
|
||||
|
||||
declare module 'doric/lib/src/widget/effect' {
|
||||
import { Stack } from "doric/lib/src/widget/layouts";
|
||||
import { View } from "doric/lib/src/ui/view";
|
||||
export class BlurEffect extends Stack {
|
||||
/**
|
||||
* Specify the effective rectangle.
|
||||
* If not set, the default is the entire area.
|
||||
*/
|
||||
effectiveRect?: {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
/**
|
||||
* Specify the radius of blur effect.
|
||||
* If not set, the default is 15.
|
||||
*/
|
||||
radius?: number;
|
||||
}
|
||||
export function blurEffect(views: View | View[], config?: Partial<BlurEffect>): BlurEffect;
|
||||
}
|
||||
|
||||
declare module 'doric/lib/src/native/modal' {
|
||||
import { BridgeContext } from "doric/lib/src/runtime/global";
|
||||
import { Gravity } from "doric/lib/src/util/gravity";
|
||||
|
20
doric-js/lib/src/widget/effect.d.ts
vendored
Normal file
20
doric-js/lib/src/widget/effect.d.ts
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import { Stack } from "../widget/layouts";
|
||||
import { View } from "../ui/view";
|
||||
export declare class BlurEffect extends Stack {
|
||||
/**
|
||||
* Specify the effective rectangle.
|
||||
* If not set, the default is the entire area.
|
||||
*/
|
||||
effectiveRect?: {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
/**
|
||||
* Specify the radius of blur effect.
|
||||
* If not set, the default is 15.
|
||||
*/
|
||||
radius?: number;
|
||||
}
|
||||
export declare function blurEffect(views: View | View[], config?: Partial<BlurEffect>): BlurEffect;
|
53
doric-js/lib/src/widget/effect.js
Normal file
53
doric-js/lib/src/widget/effect.js
Normal file
@@ -0,0 +1,53 @@
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
/*
|
||||
* Copyright [2021] [Doric.Pub]
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { Stack } from "../widget/layouts";
|
||||
import { Property, View } from "../ui/view";
|
||||
import { layoutConfig } from "../util/layoutconfig";
|
||||
export class BlurEffect extends Stack {
|
||||
}
|
||||
__decorate([
|
||||
Property,
|
||||
__metadata("design:type", Object)
|
||||
], BlurEffect.prototype, "effectiveRect", void 0);
|
||||
__decorate([
|
||||
Property,
|
||||
__metadata("design:type", Number)
|
||||
], BlurEffect.prototype, "radius", void 0);
|
||||
export function blurEffect(views, config) {
|
||||
const ret = new BlurEffect;
|
||||
ret.layoutConfig = layoutConfig().fit();
|
||||
if (views instanceof View) {
|
||||
ret.addChild(views);
|
||||
}
|
||||
else {
|
||||
views.forEach(e => {
|
||||
ret.addChild(e);
|
||||
});
|
||||
}
|
||||
if (config) {
|
||||
ret.apply(config);
|
||||
}
|
||||
return ret;
|
||||
}
|
1
doric-js/lib/src/widget/index.widget.d.ts
vendored
1
doric-js/lib/src/widget/index.widget.d.ts
vendored
@@ -11,3 +11,4 @@ export * from './nestedSlider';
|
||||
export * from './draggable';
|
||||
export * from './switch';
|
||||
export * from './gesture';
|
||||
export * from './effect';
|
||||
|
@@ -26,3 +26,4 @@ export * from './nestedSlider';
|
||||
export * from './draggable';
|
||||
export * from './switch';
|
||||
export * from './gesture';
|
||||
export * from './effect';
|
||||
|
55
doric-js/src/widget/effect.ts
Normal file
55
doric-js/src/widget/effect.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright [2021] [Doric.Pub]
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { Stack } from "../widget/layouts"
|
||||
import { Property, View } from "../ui/view"
|
||||
import { layoutConfig } from "../util/layoutconfig"
|
||||
|
||||
export class BlurEffect extends Stack {
|
||||
/**
|
||||
* Specify the effective rectangle.
|
||||
* If not set, the default is the entire area.
|
||||
*/
|
||||
@Property
|
||||
effectiveRect?: {
|
||||
x: number,
|
||||
y: number,
|
||||
width: number,
|
||||
height: number,
|
||||
}
|
||||
/**
|
||||
* Specify the radius of blur effect.
|
||||
* If not set, the default value is 15.
|
||||
* Suggested value is from 1 to 25.
|
||||
*/
|
||||
@Property
|
||||
radius?: number
|
||||
}
|
||||
|
||||
export function blurEffect(views: View | View[], config?: Partial<BlurEffect>) {
|
||||
const ret = new BlurEffect
|
||||
ret.layoutConfig = layoutConfig().fit()
|
||||
if (views instanceof View) {
|
||||
ret.addChild(views)
|
||||
} else {
|
||||
views.forEach(e => {
|
||||
ret.addChild(e)
|
||||
})
|
||||
}
|
||||
if (config) {
|
||||
ret.apply(config)
|
||||
}
|
||||
return ret
|
||||
}
|
@@ -25,4 +25,5 @@ export * from './input'
|
||||
export * from './nestedSlider'
|
||||
export * from './draggable'
|
||||
export * from './switch'
|
||||
export * from './gesture'
|
||||
export * from './gesture'
|
||||
export * from './effect'
|
Reference in New Issue
Block a user