;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Página Cinco

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Os 'Contos Sensuais' (e as derrapadas) de Martinho da Vila

Martinho da Vila, autor de "Contos Sensuais e Algo Mais" - Leo Aversa / Divulgação
Martinho da Vila, autor de 'Contos Sensuais e Algo Mais' Imagem: Leo Aversa / Divulgação

Colunista do UOL

27/04/2022 04h00Atualizada em 28/04/2022 09h56

Receba os novos posts desta coluna no seu e-mail

Email inválido

"Contos Sensuais e Algo Mais", livro de Martinho da Vila que acaba de sair pela Patuá, pode decepcionar o leitor que busca por narrativas breves cheias de sacanagem. A sensualidade do título está ali, mas quando se trata de algo carnal ela aparece de maneira muito mais romântica do que erótica, apesar de alguns momentos quentes. As diversas formas de amor, as paixões entre pessoas com idades bem distantes, as tensões afetivas e a linha às vezes tênue entre a amizade e o romance são elementos corriqueiros nos contos habitados por amantes.

"Ao dar asas à inspiração, surgiram histórias de puro amor entre pessoas da mesma identidade de gênero. A intenção inicial era escrever um livro a respeito, de autoajuda, focado em pais e mães de filhos gays, colaborar com o relacionamento de irmãs que convivem com manas lésbicas, assim como com um rapaz de gestos másculos que convive com um irmão mais delicado. A mente viajou e, em vez do romance planejado, desabrochou este livro de contos, porém as nuances do romance estão dentre os variados temas", escreve o autor na introdução do volume.

A violência das grandes cidades, o racismo e a religiosidade são algumas dessas nuances que surgem nesse romance frustrado de Martinho. Com histórias quase sempre ambientadas no subúrbio ou em favelas, a arte tem lugar de destaque nas narrativas. É bonito quando, em certa altura, um personagem a a compreender certas sutilezas a partir da descoberta do teatro.

Contos Sensuais e Algo Mais, de Martinho da Vila. - Reprodução - Reprodução
Imagem: Reprodução

Melhor momento do livro, ao escrever sobre o mundo do samba, os carnavais, as tramas do escritor ganham ares que oscilam entre o registro histórico e o resgate memorialístico. Literatura e música se misturam e pontuam, por meio de longas citações, contos que dialogam com nomes como Olavo Bilac, Castro Alves, Caetano Veloso, Vinícius de Moraes, Tom Jobim, Dolores Duran, Adoniran Barbosa, Cartola, Noel Rosa, Maquiavel e Dona Ivone Lara, além do próprio Martinho em sua faceta de compositor.

Manuel Antônio de Almeida e o seu "Memórias de um Sargento de Milícias" são lembrados em diversos momentos de "Contos Sensuais e Algo Mais". Daí é impossível não pensar na associação com as milícias atuais que dominam grandes territórios do Rio de Janeiro, cidade onde o escritor se consagrou. O Brasil de hoje, com suas excrescências políticas, também se apresenta nos contos. Estão ali, por exemplo, tanto o "presidente boquirroto" e "falastrão" quanto o "preto autorracista [...] nomeado para presidir uma fundação de apoio a pretos discriminados".

Veterano com mais de uma dezena de livros publicados, há certa singeleza no tom das histórias arquitetadas por Martinho em "Contos Sensuais e Algo Mais". O autor, no entanto, desliza em diversos momentos. Satisfazem muito pouco os diálogos e pensamentos domesticados, ordenados além da conta e, em alguns casos, didáticos demais, algo que se repete com narradores. O significado da sigla LGBTQIA+, por exemplo, aparece de forma pouco orgânica na narrativa em mais de uma ocasião.

Construções e escolhas vocabulares que miram na originalidade mas se mostram apenas opções dissonantes - o "tempo etário" para se referir à idade, o "salgado líquido lacrimal" no lugar do choro - também poderiam ser evitadas, bem como certos clichês e o uso excessivo de diminutivos ternos. É muito "...inho" pra lá, "...inha" pra cá. São problemas que prejudicam as histórias de "Contos Sensuais e Algo Mais". Martinho, artista de trajetória nada diminuta, poderia ter se saído melhor nessa.

Você pode me acompanhar também pelas redes sociais: Twitter, Facebook, Instagram, YouTube e Spotify.

O UOL pode receber uma parcela das vendas pelos links recomendados neste conteúdo. Preços e ofertas da loja não influenciam os critérios de escolha editorial.