имба. Будем на стримах слушать ее
https://www.youtube.com/watch?v=Y5cH2WeNz2Y
https://www.youtube.com/watch?v=Y5cH2WeNz2Y
YouTube
R E T R O T O K Y O - 日本のシティポップ 80’S JAPANESE CITY POP🎵【Playlist 20】
Welcome to CHILL CITY POP channel! 🎵🎵
Spotify: https://open.spotify.com/artist/3aRLbphqfr6CkxXayjld9G?si=wBTPWraOSBGP9FzUnk27og
This channel delivers a mix of retro and Japanese City Pop, relaxing Lo-fi, and nostalgic Japanese melodies. Why not spend some…
Spotify: https://open.spotify.com/artist/3aRLbphqfr6CkxXayjld9G?si=wBTPWraOSBGP9FzUnk27og
This channel delivers a mix of retro and Japanese City Pop, relaxing Lo-fi, and nostalgic Japanese melodies. Why not spend some…
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Получение данных по IP
`function logL(t){
console.log(t);
}
function dox(ip){
let API_KEY = 'https://api.2ip.io/'+ip+'?token=<свой токен>&lang=ru';
fetch(API_KEY)
.then(
function(response) {
if (response.status !== 200) {
logL('Looks like there was a problem. Status Code: ' +
response.status);
return;
}
// Examine the text in the response
response.json().then(function(data) {
// LogL("YOU DOXSED");
logL("IP:"+data.ip);
logL("country:"+data.country);
logL("lat:"+data.lat);
logL("lon:"+data.lon);
logL("timezone:"+data.timezone);
console.log(data);
});
}
)
.catch(function(err) {
this.log('Fetch Error :-S' + err);
});
}This media is not supported in your browser
VIEW IN TELEGRAM
Кастомный свитч в ImGui C++
namespace ImGui {
bool CustomToggle(bool th ,const char* label, bool* v) {
ImGuiWindow* window = ImGui::GetCurrentWindow();
ImGui::PushID(label);ImGui::TextColored((*v ? (th ? ImVec4(1.0f, 1.0f, 1.0f, 1.00f) : ImVec4(0.0f, 0.0f, 0.0f, 1.00f)) : (th ? ImVec4(0.65f, 0.65f, 0.65f, 1.00f): ImVec4(0.30f, 0.30f, 0.30f, 1.00f))), label);
ImGui::SameLine();
float height = ImGui::GetFrameHeight();
float width = height * 1.55f;
ImGuiStyle& style = ImGui::GetStyle();
ImVec2 p = ImGui::GetCursorScreenPos();
// Colors
ImU32 color_bg_on = ImGui::GetColorU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f));
ImU32 color_bg_off = ImGui::GetColorU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f));
ImU32 color_knob = *v ? ImGui::GetColorU32(ImVec4(0.34f, 0.06f, 0.98f, 1.00f)) :
ImGui::GetColorU32(ImVec4(0.36f, 0.36f, 0.36f, 1.0f));
ImU32 glow_color = ImGui::GetColorU32(ImVec4(0.34f, 0.06f, 0.98f, 0.3f)); // Цвет свечения
ImU32 border_color = ImGui::GetColorU32(ImGuiCol_Border);
ImGui::InvisibleButton(label, ImVec2(width, height));
bool clicked = ImGui::IsItemClicked();
if (clicked) *v = !(*v);
// Background + Border
ImDrawList* draw_list = ImGui::GetWindowDrawList();
draw_list->AddRectFilled(p, ImVec2(p.x + width, p.y + height), *v ? color_bg_on : color_bg_off, height);
if (style.FrameBorderSize > 0.0f) {
draw_list->AddRect(
p,
ImVec2(p.x + width, p.y + height),
border_color,
height * 0.5f,
0,
style.FrameBorderSize
);
}
// Knob parameters
float base_radius = *v ? 10 : 8;
ImVec2 knob_pos = *v ?
ImVec2(p.x + width - height * 0.5f, p.y + height * 0.5f) :
ImVec2(p.x + height * 0.5f, p.y + height * 0.5f);
// Glow effect (only when active)
if (*v) {
// Рисуем несколько слоев для эффекта свечения
const int glow_layers = 3;
for (int i = 0; i < glow_layers; i++) {
float alpha = 0.3f * (1.0f - (float)i / glow_layers);
float radius = base_radius + 2.0f * (i + 1);
draw_list->AddCircle(
knob_pos,
radius,
ImGui::GetColorU32(ImVec4(0.34f, 0.06f, 0.98f, alpha)),
0, // сегменты (0 = автоматически)
2.0f // толщина линии
);
}
}
// Main knob
draw_list->AddCircleFilled(knob_pos, base_radius, color_knob);
ImGui::PopID();
return clicked;
}
}