2022-05-29 19:55:50 +08:00
|
|
|
import 'package:bitsdojo_window/bitsdojo_window.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
|
|
const sidebarColor = Color(0xFF0C6AF6);
|
2022-05-30 13:25:06 +08:00
|
|
|
const backgroundStartColor = Color(0xFF0583EA);
|
|
|
|
const backgroundEndColor = Color(0xFF0697EA);
|
2022-05-29 19:55:50 +08:00
|
|
|
|
|
|
|
class DesktopTitleBar extends StatelessWidget {
|
|
|
|
final Widget? child;
|
|
|
|
|
|
|
|
const DesktopTitleBar({Key? key, this.child}) : super(key: key);
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
2022-06-02 14:51:09 +08:00
|
|
|
return Container(
|
|
|
|
decoration: const BoxDecoration(
|
|
|
|
gradient: LinearGradient(
|
|
|
|
begin: Alignment.topCenter,
|
|
|
|
end: Alignment.bottomCenter,
|
|
|
|
colors: [backgroundStartColor, backgroundEndColor],
|
|
|
|
stops: [0.0, 1.0]),
|
|
|
|
),
|
|
|
|
child: WindowTitleBarBox(
|
|
|
|
child: SizedBox(
|
2022-05-29 19:55:50 +08:00
|
|
|
child: Row(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: MoveWindow(
|
|
|
|
child: child,
|
|
|
|
)),
|
|
|
|
const WindowButtons()
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
final buttonColors = WindowButtonColors(
|
|
|
|
iconNormal: const Color(0xFF805306),
|
|
|
|
mouseOver: const Color(0xFFF6A00C),
|
|
|
|
mouseDown: const Color(0xFF805306),
|
|
|
|
iconMouseOver: const Color(0xFF805306),
|
|
|
|
iconMouseDown: const Color(0xFFFFD500));
|
|
|
|
|
|
|
|
final closeButtonColors = WindowButtonColors(
|
|
|
|
mouseOver: const Color(0xFFD32F2F),
|
|
|
|
mouseDown: const Color(0xFFB71C1C),
|
|
|
|
iconNormal: const Color(0xFF805306),
|
|
|
|
iconMouseOver: Colors.white);
|
|
|
|
|
|
|
|
class WindowButtons extends StatelessWidget {
|
|
|
|
const WindowButtons({Key? key}) : super(key: key);
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return Row(
|
|
|
|
children: [
|
|
|
|
MinimizeWindowButton(colors: buttonColors),
|
|
|
|
MaximizeWindowButton(colors: buttonColors),
|
|
|
|
CloseWindowButton(colors: closeButtonColors),
|
|
|
|
],
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|