2022-09-09 22:15:43 +00:00
|
|
|
import react from 'react';
|
|
|
|
|
2022-09-10 19:41:01 +00:00
|
|
|
import { ViewportState } from './viewport';
|
|
|
|
|
2022-09-09 22:15:43 +00:00
|
|
|
import '../theme/layer.css';
|
|
|
|
|
|
|
|
const Layer: react.FC<{
|
2022-09-10 19:41:01 +00:00
|
|
|
viewportState: ViewportState;
|
2022-09-09 22:15:43 +00:00
|
|
|
children?: JSX.Element;
|
2022-09-10 19:41:01 +00:00
|
|
|
}> = (props: { viewportState: ViewportState; children?: JSX.Element }) => {
|
|
|
|
const { children: children, ...argProps } = props;
|
2022-09-09 22:15:43 +00:00
|
|
|
console.log(`--- Rendering layer, props: ${JSON.stringify(argProps)} ---`);
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div
|
|
|
|
className='background'
|
|
|
|
style={{
|
2022-09-10 19:41:01 +00:00
|
|
|
transform: `translate(${props.viewportState.translation.x}px, ${props.viewportState.translation.y}px) scale(${props.viewportState.scale})`,
|
2022-09-09 22:15:43 +00:00
|
|
|
}}
|
|
|
|
>
|
|
|
|
{props.children}
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default Layer;
|