chore: cleanup background styling handling

This commit is contained in:
Nathan Walker
2022-01-22 13:12:11 -08:00
parent fb2f5089ef
commit 0bcc2cf97e
4 changed files with 63 additions and 62 deletions

View File

@ -13,8 +13,7 @@ import { EventData } from '../../../data/observable';
import { perspectiveProperty, visibilityProperty, opacityProperty, horizontalAlignmentProperty, verticalAlignmentProperty, minWidthProperty, minHeightProperty, widthProperty, heightProperty, marginLeftProperty, marginTopProperty, marginRightProperty, marginBottomProperty, rotateProperty, rotateXProperty, rotateYProperty, scaleXProperty, scaleYProperty, translateXProperty, translateYProperty, zIndexProperty, backgroundInternalProperty, androidElevationProperty, androidDynamicElevationOffsetProperty } from '../../styling/style-properties';
import { CoreTypes } from '../../../core-types';
import { Background, ad as androidBackground } from '../../styling/background';
import { BackgroundClearFlags, refreshBorderDrawable } from '../../styling/background.android';
import { Background, BackgroundClearFlags, refreshBorderDrawable } from '../../styling/background';
import { profile } from '../../../profiling';
import { topmost } from '../../frame/frame-stack';
import { Screen } from '../../../platform';

View File

@ -1,5 +1,3 @@
// Deifinitions.
import { Background as BackgroundDefinition } from './background';
import { CoreTypes } from '../../core-types';
import { LinearGradient } from './linear-gradient';
// Types.
@ -21,7 +19,7 @@ export const enum BackgroundClearFlags {
CLEAR_BOX_SHADOW = 2 << 0,
}
export class Background implements BackgroundDefinition {
export class Background {
public static default = new Background();
public color: Color;

View File

@ -34,7 +34,7 @@ function fromGradient(gradient: LinearGradient): org.nativescript.widgets.Linear
}
const pattern = /url\(('|")(.*?)\1\)/;
function refreshBorderDrawable(this: void, view: View, borderDrawable: org.nativescript.widgets.BorderDrawable) {
export function refreshBorderDrawable(view: View, borderDrawable: org.nativescript.widgets.BorderDrawable) {
const nativeView = <android.view.View>view.nativeViewProtected;
const context = nativeView.getContext();

View File

@ -4,72 +4,74 @@ import { BackgroundRepeat } from '../../css/parser';
import { LinearGradient } from '../styling/linear-gradient';
import { CSSShadow } from './css-shadow';
export * from './background-common';
export enum CacheMode {
none,
memory,
diskAndMemory,
}
export declare class Background {
public static default: Background;
public color: Color;
public image: string | LinearGradient;
public repeat: BackgroundRepeat;
public position: string;
public size: string;
public borderTopColor: Color;
public borderRightColor: Color;
public borderBottomColor: Color;
public borderLeftColor: Color;
public borderTopWidth: number;
public borderRightWidth: number;
public borderBottomWidth: number;
public borderLeftWidth: number;
public borderTopLeftRadius: number;
public borderTopRightRadius: number;
public borderBottomRightRadius: number;
public borderBottomLeftRadius: number;
public clipPath: string;
public boxShadow: string | CSSShadow;
public clearFlags: number;
// export declare class Background {
// public static default: Background;
// public color: Color;
// public image: string | LinearGradient;
// public repeat: BackgroundRepeat;
// public position: string;
// public size: string;
// public borderTopColor: Color;
// public borderRightColor: Color;
// public borderBottomColor: Color;
// public borderLeftColor: Color;
// public borderTopWidth: number;
// public borderRightWidth: number;
// public borderBottomWidth: number;
// public borderLeftWidth: number;
// public borderTopLeftRadius: number;
// public borderTopRightRadius: number;
// public borderBottomRightRadius: number;
// public borderBottomLeftRadius: number;
// public clipPath: string;
// public boxShadow: string | CSSShadow;
// public clearFlags: number;
public withColor(value: Color): Background;
public withImage(value: string | LinearGradient): Background;
public withRepeat(value: BackgroundRepeat): Background;
public withPosition(value: string): Background;
public withSize(value: string): Background;
public withBorderTopColor(value: Color): Background;
public withBorderRightColor(value: Color): Background;
public withBorderBottomColor(value: Color): Background;
public withBorderLeftColor(value: Color): Background;
public withBorderTopWidth(value: number): Background;
public withBorderRightWidth(value: number): Background;
public withBorderBottomWidth(value: number): Background;
public withBorderLeftWidth(value: number): Background;
public withBorderTopLeftRadius(value: number): Background;
public withBorderTopRightRadius(value: number): Background;
public withBorderBottomRightRadius(value: number): Background;
public withBorderBottomLeftRadius(value: number): Background;
public withClipPath(value: string): Background;
public withBoxShadow(value: CSSShadow): Background;
// public withColor(value: Color): Background;
// public withImage(value: string | LinearGradient): Background;
// public withRepeat(value: BackgroundRepeat): Background;
// public withPosition(value: string): Background;
// public withSize(value: string): Background;
// public withBorderTopColor(value: Color): Background;
// public withBorderRightColor(value: Color): Background;
// public withBorderBottomColor(value: Color): Background;
// public withBorderLeftColor(value: Color): Background;
// public withBorderTopWidth(value: number): Background;
// public withBorderRightWidth(value: number): Background;
// public withBorderBottomWidth(value: number): Background;
// public withBorderLeftWidth(value: number): Background;
// public withBorderTopLeftRadius(value: number): Background;
// public withBorderTopRightRadius(value: number): Background;
// public withBorderBottomRightRadius(value: number): Background;
// public withBorderBottomLeftRadius(value: number): Background;
// public withClipPath(value: string): Background;
// public withBoxShadow(value: CSSShadow): Background;
public isEmpty(): boolean;
// public isEmpty(): boolean;
public static equals(value1: Background, value2: Background): boolean;
// public static equals(value1: Background, value2: Background): boolean;
public hasBorderColor(): boolean;
public hasBorderWidth(): boolean;
public hasBorderRadius(): boolean;
public hasUniformBorderColor(): boolean;
public hasUniformBorderWidth(): boolean;
public hasUniformBorderRadius(): boolean;
public hasUniformBorder(): boolean;
public getUniformBorderColor(): Color;
public getUniformBorderWidth(): number;
public getUniformBorderRadius(): number;
public hasBoxShadow(): boolean;
public getBoxShadow(): CSSShadow;
}
// public hasBorderColor(): boolean;
// public hasBorderWidth(): boolean;
// public hasBorderRadius(): boolean;
// public hasUniformBorderColor(): boolean;
// public hasUniformBorderWidth(): boolean;
// public hasUniformBorderRadius(): boolean;
// public hasUniformBorder(): boolean;
// public getUniformBorderColor(): Color;
// public getUniformBorderWidth(): number;
// public getUniformBorderRadius(): number;
// public hasBoxShadow(): boolean;
// public getBoxShadow(): CSSShadow;
// }
export namespace ios {
export function createBackgroundUIColor(view: View, callback: (uiColor: any /* UIColor */) => void, flip?: boolean): void;
@ -78,3 +80,5 @@ export namespace ios {
export namespace ad {
export function onBackgroundOrBorderPropertyChanged(v: View);
}
export function refreshBorderDrawable(view: View, borderDrawable: any /* org.nativescript.widgets.BorderDrawable */): void;